2 qq 36094030 qq_36094030 于 2016.09.21 20:51 提问

求大神帮助解决问题!!!!!
  1. 用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。循环链表,用取余操作做.
  2. 用两个栈实现一个队列的功能?要求给出算法和思路!

3个回答

qq_21922801
qq_21922801   2016.09.21 21:21

诶,这个问题我刚好在算法书上看到过,就叫约瑟夫环问题。

y786168557
y786168557   2016.09.21 21:02

循环链表就自己写吧。结构体中就一个值加一个next指针,最后将next指向头。(我还是喜欢用数组做啊!)
for i=1~N
if i%M==0
cout<<...;
(应该没问题吧?)

两个栈,实现一个队列。
栈:stk1,stk2
进队列操作:就是对stk1进行压栈操作;
出队列操作:
先将stk1的东西依次出栈,
然后压栈到stk2中,
最后stk1为空,此时对stk2的栈顶做出栈操作(这个值就取出来,不压入到stk1中了),
最后将stk2的内容再出栈,压栈到stk1中。

liao20081228
liao20081228   2016.10.12 13:46

//两个栈模拟队列
#include
using namespace std;
#define NULL 0
#define ok 1
#define yes 1
#define no 0
#define error 0
#define false 0
#define maxsize 100
struct stillstack//定义一个静态栈1,栈顶指针指向栈顶元素位置
{
int data[maxsize];
int top, bottom;
};

int initstack(stillstack &s)//对应静态栈1的初始化
{
s.top = s.bottom = -1;
return ok;
}

int push(stillstack &s, int e)//静态栈1入栈
{
if (s.top-s.bottom>=maxsize)
return error;
else
s.data[++s.top] = e;
return ok;
}

int pop(stillstack &s, int &e)//静态栈1出栈
{
if (s.top == s.bottom)
return error;
else
e = s.data[s.top--];
return ok;
}

int isempty(stillstack s)//两种栈都可以用bottom=top来判定栈空
{
if (s.top == s.bottom)
return yes;
else
return no;
}

int length1(stillstack s)//两种栈都可以用botto-top来求栈中元素个数
{
return s.top - s.bottom;
}
stillstack s1, s2;
int inqueue(int x)
{
int e;
while (!isempty(s2))
{
if (pop(s2, e))
push(s1, e);
}
if(push(s1, x))
return ok;
else
return error;
}
int outqueue(int &x)
{
int e;
while (!isempty(s1))
{
if (pop(s1, e))
push(s2, e);
}
if(pop(s2, x))
return ok;
else
return error;
}

int main()
{
int x=1,y=1,z;
while (1)
{
cout << "请输入要进行的操作0代表出队,1代表入队,999代表停止" << endl;
cin >> z;
if (z == 1)
{
cout << "请输入要入队的数据" ;
cin >> x;
if (inqueue(x))
continue;
else
cout << "队满";
}
if (z == 0)
{
if (outqueue(y))
cout << "出队的数据是" << y << endl;
else
cout << "已经出队完毕" << endl;
continue;
}
if (z = 999)
return ok;
}

}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
求java大神解决问题
java.sql.SQLException: The Network Adapter could not establish the connection应该怎么解决呀
有个计算机大神的男朋友是个什么感觉?
工作以来,事情有点多,推送渐少,还请各位兄台包涵。虽说工作上不忙,但是每天下班回来洗洗、看看书时间也就过去了,打开微信公众号看看大家的后台留言,想到该推送了,但是不知道写点什么,毕竟我也不想污染你们的微信公众号消息,也就每次周末的时候,可以静下心来再写写文章与总结。 这样就有人要问了,那今天周五你怎么写文章了?这篇文章不是我写的,是我女朋友写的,关于这篇文章的由来,她有一个小故事
求kali-linux大神帮助
下载安装好kali-linux之后打开虚拟机也连不上网,也不知道这个系统需要再去做些什么,很迷。第一次接触这个系统,求高高手解惑。十分感谢。
求大神帮助!!!!
如何继承Textview并把他的属性包装在一个属性中进行统一调用
求大神帮助
求指导写一个课程表
求大神帮助!!!!!!!!!!
现在公司要求设计一个智能ai的实验项目主要是实现简单的智能语音交互平台需要软硬件的设计,就是说都需要哪些硬件,需要开发哪些软件系统?我现在的认为就是:     硬件:需要一个pc机,麦克风,用来获取语音输入(或者直接使用一个移动设备)     软件:          1、交互界面,主要用于智能系统唤醒、关闭等服务          2、语音分析系统,用于对输入的语音预处理,获取语音,降噪,增强音...
求帮助啊 求大神帮助
txt文件部分 数据 key     L    M             C                       S                    sigma C             sigma S end_of_head ===========================================================================
Python大神告诉你成为优秀程序员的几个个有效方法
作为一个在IT行业的软件程序员,每天促使我去上班的动力就是对编程的乐趣和激情。但是为了激发乐趣并获得永恒的快感,我们需要学习和遵守一些基础知识以成为一名优秀的程序员。 当然我总结的这些东西没有那么神,你说你要想学了之后就一定可以成为优秀程序员,那是不可能的。这只是从我的经验角度出发提供的一些捷径。对于优秀程序员的定义,此处可以理解为能开发出超棒的IT解决方案并且能促进行业整体发展的程
实验报告包含pyk文件
学校学校,交流。求大神帮助改进。简简单单,方方正正,ok
奥特曼打怪兽
自己写的小游戏,但是未图形化。求大神帮助图形化。