陣列實現雙堆疊

2021-08-19 22:30:13 字數 1816 閱讀 4589

在乙個陣列中實現兩個堆疊(20 分)

本題要求在乙個陣列中實現兩個堆疊。

stack createstack( int maxsize );

bool push( stack s, elementtype x, int tag );

elementtype pop( stack s, int tag );

其中tag是堆疊編號,取1或2;maxsize堆疊陣列的規模;stack結構定義如下:

typedef int position;

struct snode ;

typedef struct snode *stack;

注意:如果堆疊已滿,push函式必須輸出「stack full」並且返回false;如果某堆疊是空的,則pop函式必須輸出「stack tag empty」(其中tag是該堆疊的編號),並且返回error。

#include #include #define error 1e8

typedef int elementtype;

typedef enum operation;

typedef enum bool;

typedef int position;

struct snode ;

typedef struct snode *stack;

stack createstack( int maxsize );

bool push( stack s, elementtype x, int tag );

elementtype pop( stack s, int tag );

operation getop(); /* details omitted */

void printstack( stack s, int tag ); /* details omitted */

int main()

}return 0;

}/* 你的**將被嵌在這裡 */

5

push 1 1

pop 2

push 2 11

push 1 2

push 2 12

pop 1

push 2 13

push 2 14

push 1 3

pop 2

end

stack 2 empty

stack 2 is empty!

stack full

stack 1 is full!

pop from stack 1: 1

pop from stack 2: 13 12 11

資料結構,堆疊基本操作。

**如下:

stack createstack( int maxsize )

bool push( stack s, elementtype x, int tag )

if(tag==1)

else

}elementtype pop( stack s, int tag )

if(tag==1)

else return s->data[(s->top1)--];

}else

else return s->data[(s->top2)++];

}return error;

}

堆疊 佇列 雙端佇列實現

author hao rui chun class stack object def init self self.lis defpush self,item 入棧 defpop self 出棧 self.lis.pop def peek self 獲取棧頂元素 if self.lis return...

陣列實現堆疊 Java實現

package struct 介面 inte ce iarraystack 實現介面的stackimpl類 class stackimpl implements iarraystack 求堆疊容量 public int length 求堆疊中元素的個數,即堆疊大小 public int size 取...

陣列實現堆疊操作

感覺自己資料結構學的好慢啊。感覺用不慣c 的輸入輸出,其實看我胡扯不如直接去看 來的實在。堆疊的在於檢視是否滿 溢位 或者為空 null 上 main.cpp 陣列實現堆疊 created by malker on 2017 3 20.include include include define m...