c語言描述 棧的基本操作

2022-07-25 06:48:07 字數 1673 閱讀 6533

一朵花兒開,就有一朵花兒敗,滿山的鮮花,只有**最可愛

#include#include #define maxsize 100        //定義最大儲存空間

#define stackincrement 10 //增加的儲存空間,increment意為:加薪、增值

typedef struct stack;

//初始化棧

void init(stack *s)

s->top=s->base;

s->stacksize=maxsize;

s->sum=0;

}//在棧頂插入乙個元素

void push(stack *s)

s->stacksize=s->stacksize+stackincrement;

}*(s->top++)=e;

s->sum++;

}//向棧內輸入元素

void input(stack *s)

}//列印棧內元素

void printstack(stack *s)

printf("\n");

}//情況棧內元素

void clearstack(stack *s)

}//刪除棧頂元素

void pop(stack *s)

else

s->sum--;

}//返回元素個數

int stacklength(stack *s)

//返回棧頂元素

void gettop(stack *s)

e=*(s->top-1);

printf("棧頂元素為:%d\n",e);

}int main()

/* 執行結果

請依次輸入資料

1 2 3 4 5 6

請輸入要插入的元素:9

棧頂元素為:9

棧內元素為:9 6 5 4 3 2 1

棧內元素為:6 5 4 3 2 1

program ended with exit code: 0

*/

上面**要注意--s->top與top-1的區別,執行--s->top時,棧的長度會改變,因為指標下移,而執行top-1時,指標的指向並未改變;

#include #includetypedef struct stack

stack;

//輸入資料

void initstack(stack *s)

else

s->stacksize++;

if(getchar()=='\n') //此句要放最後

break;

}}//在棧頂插入資料

void push(stack *s,int *num)

//顯示棧內元素

void showstack(stack *s)

printf("\n");

}//棧出棧頂元素

void pop(stack *s)

int main()

//執行結果

/*請輸入資料:

1 2 3 4

9 4 3 2 1

4 3 2 1

program ended with exit code: 0

*/

棧的基本操作 用C語言描述

include malloc 等 include eof z或f6 null include atoi include exit struct stackrecord typedef struct stackrecord stack typedef char elementtype define e...

c語言描述 串的基本操作

串的第乙個空間儲存串長 define mixsize 100 typedef int status typedef char sstring mixsize 1 status concat sstring s3,sstring s1,sstring s2 for int i s1 0 1 imixs...

棧的基本操作(C語言)

include include define stack init size 20 初始記憶體單元個數 define stack dila size 10 擴容需增加的記憶體單元個數 typedef double elemtype 方便改動資料型別 typedef struct 棧的結構體 sqst...