- 23
- 0
- 约2.86千字
- 约 3页
- 2017-05-30 发布于北京
- 举报
实验三 栈与队列
实验目的:
握栈与队列的基本概念
掌握顺序栈的建立、入栈和出栈等方法。
掌握循环队列的概念和建立、入队出队方法。
了解链栈、链队的概念及有关操作。
实验准备:
复习书上有关内容。
阅读实验步骤中的函数,写出函数功能。
写出实验步骤2、3、4的源程序。
实验步骤:
阅读下列程序,写出各子函数功能和程序运行结果,再上机调试运行。
1.栈的基本运算
#define Stack_Size 50
typedef struct
{int elem[Stack_Size];
int top;
}SeqStack;
int push(SeqStack *S, int x){
if(S-top==Stack_Size-1) return(0);
S-top++;
S-elem[S-top]=x;
return(1);
}
int pop(SeqStack *S, int *x)
{
if(S-top==-1)
{ printf(stack empty); return(0); }
else {
*x=S-elem[S-top];
S-top--;
return(1); }
}
prin(SeqStack *x)
{int I;
printf(\n);
for(I=0;I=x-top;I++)
printf( %d ,x-elem[I]);
}
main()
{SeqStack x;
int I,a;
clrscr();
x.top=-1;
for(I=0;I=5;I++)
push(x,I*2);
prin(x);
prin(x);
for(I=0;I=2;I++)
{pop(x,a);printf(pop: %d,,a);}
prin(x);
}
2.进制转换(栈的结构体定义、push函数和pop函数同第一题)
void Conversion(int N)
{SeqStack S;
int x;
S.top=-1;
while(N0)
{x=N%2;
push(S,x);
N=N/2;}
while(S.top!=-1)
{pop(S,x);
printf(%d,x); }
}
main()
{int x;
clrscr();
scanf(%d,x);
Conversion(x);
}
3.队列的基本运算
3.队列的基本运算
#define qsize 50
typedef struct
{int data[50];
int front,rear;
int len;
} sqqueue;
int inqueue(sqqueue *q,int x)
{
if((q-len)==50)
{ printf(queue overflow);return 0;
q-len++;
q-data[q-rear]=x;
q-rear=(q-rear+1)%qsize;
return(1);
}
int dequeue(sqqueue *q)
{int temp;
if(q-len==0)
{ printf(queue underflow);return(0);}
temp=q-data[q-front];
q-len--;
q-front=(q-front+1)%qsize;
return(temp); }
prin(sqqueue *q)
{int i;
printf(\n);
for(i=q-front;i!=q-rear;i=(i+1)%qsize)
printf( %d,q-data[i]);
}
main()
{sqqueue sq;
int I;
clrscr();
sq.len=0;
sq.front=0;
sq.rear=0;
for (I=0;I5;I++)
{sq.data[I]=I*I;sq.rear++;}
prin(sq);
inqueue(sq,99);
prin(sq);
dequeue(sq);
prin(sq);
}
#define QueueSize 100
typedef struct{
int data[queuesize]
int front, rear;
int len;
}sqqueue;
void inqueue(sqqueue *q,int x)
{
if(queuefull(q))
您可能关注的文档
- 义乌贷商业模式说明.doc
- 义务教育写字发展对照表.doc
- 之以于文言虚词归纳.doc
- 乌兰集团“爱在乌兰感恩祖国”文艺晚会部分主持人台词.doc
- 乌镇东栅导游词2011年4月4日.doc
- 乌鸡药膳做法大全.doc
- 乌龟白眼病眼睛发红.doc
- 乐于互助勇于创新敢于担当征集“阳光青年”秀出真我风采.doc
- 乐器演奏电路设计-vhdl.doc
- 乐山好吃嘴参考大全2.doc
- 人教版九年级英语Unit 4曾害怕课件3a-4c.pdf
- 雅思口语考题回顾:朗阁海外考试研究中心2019年10月10日Part 1考题总结.pdf
- 2026届高三地理一轮复习课件小专题河流袭夺.pptx
- 【名师原创】复习专题5 三角函数 作者:合肥市第八中学 蒲荣飞名师工作室.docx
- 高中数学一轮复习 微专题2 抽象函数.docx
- 高中数学——复习专题4 空间向量与立体几何.docx
- 高中数学一轮复习 微专题3 空间几何体中的截面、轨迹问题.docx
- 高中数学一轮复习 微专题4 空间几何体的最值、范围问题.docx
- 导流洞施工质量通病防治手册.docx
- 江苏省徐州市第一中学、徐市第三中学等五校2026届高三上学期12月月考历史试题含答案.docx
原创力文档

文档评论(0)