6 7 在乙個陣列中實現兩個堆疊

2021-08-31 04:03:37 字數 2297 閱讀 7483

6-7 在乙個陣列中實現兩個堆疊 (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

#include

#include

#include

#define error 1e8

typedef int elementtype;

typedef enum operation;

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()

void printstack(stack s, int tag)

putchar('\n');

}else

putchar('\n');}}

int main()

}return 0;

}stack createstack(int maxsize)

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

if (tag == 1)

else if (tag == 2)

return false;

}elementtype pop(stack s, int tag)

return s->data[s->top1--];

}else if (tag == 2)

return s->data[s->top2++];

}return error;

}

6 7 在乙個陣列中實現兩個堆疊

本題要求在乙個陣列中實現兩個堆疊。stack createstack int maxsize bool push stack s,elementtype x,int tag elementtype pop stack s,int tag 其中tag是堆疊編號,取1或2 maxsize堆疊陣列的規模 ...

6 7 在乙個陣列中實現兩個堆疊 20分

本題要求在乙個陣列中實現兩個堆疊。函式介面定義 stack createstack int maxsize bool push stack s,elementtype x,int tag elementtype pop stack s,int tag 其中tag是堆疊編號,取1或2 maxsize堆...

6 7 在乙個陣列中實現兩個堆疊 20分

本題要求在乙個陣列中實現兩個堆疊。函式介面定義 stack createstack int maxsize bool push stack s,elementtype x,int tag elementtype pop stack s,int tag 其中tag是堆疊編號,取1或2 maxsize堆...