91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據結構-鏈式隊列的基本操作

發布時間:2020-03-27 16:18:17 來源:網絡 閱讀:851 作者:toceph 欄目:編程語言

//隊列的基本操作 

#include <iostream> 

using namespace std;


#define datatype int

#define Status int

#define OK     1

#define ERROR  0


 

 

typedef struct linkqueuenode{           //定義隊列節點 

        datatype data;

        struct linkqueuenode *next;                

}LinkQueueNode;


typedef struct {                        //定義鏈式隊列     

        LinkQueueNode *front;

        LinkQueueNode *rear;        

}LinkQueue; 


//初始化

void InitQueue(LinkQueue *q)

{

q->front=NULL;

q->rear=NULL;

}

//入隊 

Status InQueue(LinkQueue *q,datatype x)

{

//創建節點

LinkQueueNode *s=new LinkQueueNode;

s->data=x;

s->next=NULL;


//是否隊空

if(q->front==NULL)

{

s->next=q->rear;

q->front=s;

q->rear=s;

}

else

{

q->rear->next=s;

q->rear=s;

}

return 0;

}

//出隊 

Status OutQueue(LinkQueue *q,datatype &x)

{//若隊空,返回0;出隊完成,返回1

if(NULL==q->front) return 0;

LinkQueueNode *p=q->front;

x=p->data;

q->front=p->next;

delete p;

return 1;

}

//顯示隊列元素 

Status ShowQueue(LinkQueue *q)

{

if(q->front==NULL) {cout<<"棧空!"<<endl;return 0;}//隊列空

LinkQueueNode *p;

p=q->front;

cout<<"遍歷隊列: ";

while(p!=NULL)

{

printf("%d ",p->data);

p=p->next;

}

cout<<endl;

return 1;

}

//讀隊首元素 

Status ReadQueue(LinkQueue *q)

{

if(NULL==q->front) return 0;

cout<<"隊首元素為:"<<q->front->data<<endl;;

return 1;

}

//雙隊列,隊首出棧

Status OutQueueFront(LinkQueue *q,datatype &x)

{//若隊空,返回0;出隊完成,返回1

if(NULL==q->front) return 0;

LinkQueueNode *p=q->front;

x=p->data;

q->front=p->next;

delete p;

return 1;

}

//雙隊列,隊尾出棧

Status OutQueueRear(LinkQueue *q,datatype &x)

{

//對空,返回0

if(NULL==q->front) return 0;


//找q.rear的前驅

LinkQueueNode *ptr;

ptr=q->rear;//ptr指向對尾

LinkQueueNode *p=q->front;

while(p->next!=q->rear)//p指向q->rear的前驅

{

p=p->next;

}

x=q->rear->data;


p->next=q->rear->next;

q->rear->next=p->next;

q->rear=p;


delete ptr;

return 1;

}



int main()

{

    LinkQueue que;//創建隊列

    InitQueue(&que);//初始化隊列

InQueue(&que,1);//入隊

InQueue(&que,2);

InQueue(&que,3);

InQueue(&que,4);

ShowQueue(&que);//1,2,3,4

datatype temp;//用于保存出隊的data

OutQueue(&que,temp);//2,3,4

ShowQueue(&que);//顯示隊列元素


ReadQueue(&que);


OutQueueRear(&que,temp);//2,3

ShowQueue(&que);



    system("pause");

    return 0;    

-----------------------------------------------------------

運行結果:

遍歷隊列: 1 2 3 4

出隊!:

遍歷隊列: 2 3 4

隊首元素為:2

隊尾出隊!

遍歷隊列: 2 3

Press any key to continue . . .



鮮少偉

2016-4-18

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万载县| 土默特右旗| 皮山县| 邢台县| 佛山市| 浦东新区| 扎兰屯市| 金秀| 淮阳县| 北川| 临沂市| 专栏| 连云港市| 隆德县| 永济市| 将乐县| 普格县| 洱源县| 双江| 朔州市| 宁陵县| 渝中区| 九江市| 阳谷县| 平舆县| 阜宁县| 绥芬河市| 台州市| 北票市| 木里| 子长县| 龙川县| 全椒县| 海淀区| 嵩明县| 綦江县| 昌图县| 怀集县| 珲春市| 大关县| 屏东市|