棧和佇列的有關操作

2021-08-04 07:48:03 字數 2225 閱讀 8878

實驗內容:

1、用順序儲存定義棧結構。寫出這種儲存方式下的演算法實現,包括:

初始化棧、判棧為空、出棧、入棧

、求棧頂元素

等運算,自己填寫主函式。

2、利用順序棧的基本操作

,設計演算法,

實現將任意乙個十進位制整數轉化為r進製整數

3、用順序儲存來定義迴圈佇列結構。程式設計實現,

初始化佇列

、判佇列

為空、出

佇列、入

佇列、求佇列頭部元素

等運算,自己填寫主函式。

4、利用佇列列印楊輝三角形。

楊輝三角形是形如:

11   1

1   2   1

1   3   3   1

1   4   6   4   1

的三角形,其實質是二項式(a+b)的n次方展開後各項的係數排成的三角形,它的特點是

左右兩邊全是1,從第二行起,中間的每乙個數是上一行裡相鄰兩個數之和。

輸入要列印的層數n,列印出相應的楊輝三角形。

**:#include

#include

#include

#include

#define maxsize 1000

using namespace std;

typedef structseqstack;

void init(seqstack *s)seqstack;

void init(seqstack *s)sequeue;

int init(sequeue *q)sequeue;

int init(sequeue *q){

if((q=((sequeue *)malloc(sizeof(sequeue))))==null)

return 0;

q->front_=0;

q->rear_=0;

return 1;

int empty(sequeue *q){

if(q->front_==q->rear_)

return 1;

else

return 0;

int insequeue(sequeue *q,int x){

if((q->rear_+1)%maxsize==q->front_){

return -1;

else{

q->data[q->rear_]=x;

q->rear_=(q->rear_+1)%maxsize;

return 1;

int outsequeue(sequeue *q,int *x){

if(q->front_==q->rear_){

return -1;

else{

*x=q->data[q->front_];

q->front_=(q->front_+1)%maxsize;

return 1;

int gethead(sequeue *q,int *x){

if(q->front_==q->rear_)

return 0;

*x=q->data[q->front_];

return 1;

void yanghui********( sequeue *q,int n)

int n,i,x,temp;

init(q);

insequeue(q,1);

for(n=2;n<=n;n++)

insequeue(q,1);

for(i=1;i<=n-2;i++)

outsequeue(q,&temp);

cout

temp=temp+x;

insequeue(q,temp);

outsequeue(q,&x);

cout

cout

outsequeue(q,&x);

cout

sequeue *s;

int x,num=10,st;

s=(sequeue *)malloc(sizeof(sequeue));

init(s);

int n=0;

cin>>n;

yanghui********(s,n);

return 0;

測試截圖:

棧和佇列的有關操作

1 掌握棧 佇列的思想及其儲存實現。2 掌握棧 佇列的常見演算法的程式實現。1 採用鏈式儲存實現棧的初始化 入棧 出棧操作。2 採用順序儲存實現棧的初始化 入棧 出棧操作。3 採用鏈式儲存實現佇列的初始化 入隊 出隊操作。4 採用順序儲存實現迴圈佇列的初始化 入隊 出隊操作。5 在主函式中設計乙個簡...

棧和佇列的有關操作

實驗名稱 棧和佇列的有關操作 實驗室名稱 實驗台號 14 學生姓名 專業班級 2015 指導教師 實驗日期 2017 6 9 一 實驗目的1 掌握棧 佇列的思想及其儲存實現。2 掌握棧 佇列的常見演算法的程式實現。二 實驗儀器及環境 pc計算機 windows xp作業系統 visual c 6.0...

有關集合佇列和棧的轉換

這幾天剛好學習了集合collection等子介面,下面是有關的乙個面試題解決方案 cpp view plain copy include include include using namespace std 兩個佇列模擬乙個堆疊 佇列a b 入棧 將元素依次壓入到非空的佇列,第乙個元素壓倒對列a ...