2個鏈棧實現鏈隊功能

2021-06-22 05:46:53 字數 954 閱讀 5696

// 2chainstack_chainqueue.cpp : 定義控制台應用程式的入口點。

//兩個鏈棧實現乙個鏈隊功能

#include "stdafx.h"

#include typedef int type;

using namespace std;

//鏈棧結點

typedef struct stack

stack,*pstack;

//初始化鏈棧

pstack initstack(pstack s)

s->next=null;

return s;

}//入棧操作

void push(pstack s,type data)

//出棧

pstack pop(pstack s)

//棧的長度

int lengthstack(pstack s)

return i;

}//入隊

void enterqueue(pstack s1,type data)

//出隊

pstack delqueue(pstack s1,pstack s2)

pstack temp=pop(s2); //s2棧頂元素出棧 即為隊首元素出隊

while(null!=s2->next) //將棧s2中餘下的元素壓入s1 s2清空

return temp;

}//列印佇列

void printqueue(pstack s1)

int len=lengthstack(s1);

int i=0;

type *tp;

tp=new type[len];

pstack p=s1->next;

while(null!=p) //找到隊首指標

for(int j=len-1;j>=0;j--)

cout

鏈棧和鏈隊

基本的棧 class stack void push char str char pop bool empty bool full void display 逆波蘭表示式 優點 不會發生記憶體溢位的問題 通過鍊錶操作頭結點就可以了 class linkstack void push int idat...

順序棧 鏈棧 順序隊和鏈隊小結

順序棧和順序隊的儲存結構都為順序儲存,鏈棧和鏈隊的儲存結構為鏈式儲存。順序棧和順序隊為受約束的順序表 可以看成與陣列類似 鏈棧和鏈隊和單鏈表沒有什麼區別。如何寫出這些相應的程式 呢?本人認為有以下幾點 1 清楚順序棧 順序隊 鏈棧和鏈隊的結構及其基本性質,如 隊列為 先進先出 棧為 先進後出 棧需要...

棧和隊的實現8 鏈隊

include pch.h include using namespace std typedef int qelemtype 資料型別 typedef struct qnode qnode,queueptr 結點型別 typedef struct linkqueue 結點指標型別 1.初始化 bo...