手動實現乙個簡單支援動態增長的棧

2021-10-23 00:24:00 字數 898 閱讀 1259

#include #include #include typedef int datatype;

//支援動態增長的棧

typedef struct stack

stack;

//棧的初始化

void stackinit(stack* s);

//入棧

void stackpush(stack* s, datatype x);

//出棧

void stackpop(stack* s);

//返回棧頂資料

datatype stacktop(stack* s);

//檢查棧是否為空

int stackisemptyr(stack* s);

//棧的銷毀

void stackdestroy(stack* s);

//棧的初始化

void stackinit(stack* s)

//入棧

void stackpush(stack* s, datatype x)

//不需要擴容則給a[s->_top]賦值, 即進棧

s->_a[s->_top] = x;

++s->_top;

}//出棧

void stackpop(stack* s)

//返回棧頂資料

datatype stacktop(stack* s)

//檢查棧是否為空

int stackisemptyr(stack* s)

//棧的銷毀

void stackdestroy(stack* s)

//自己實現棧的測試

void teststack()

stackdestroy(&st);

}

乙個簡單的動態堆疊的實現

dstack.h define dstack void define item int dstack createdstack int initsize,int growsize bool releasedstack dstack stack void pushstack dstack stack,...

建立乙個struct,來管理乙個動態增長的陣列

c 程式設計思想,在介紹資料封裝給了乙個cstash的例子,大概的思想是,建立乙個struct,來管理乙個動態增長的陣列。這個陣列可以接受任何型別的基本資料型別。包括示例中的int和char,乙個能儲存多種資料型別的底層資料型別,當然是最小的型別也就是sizeof運算子返回為1的資料型別,綜合考慮,...

乙個支援上傳的簡單http server

現在,很多人都知道,python裡有個 httpserver,可以拿來方便地共享檔案。比如,你要傳送某個檔案給區域網裡的同學,你只要cd到所在路徑,然後執行這麼一行 python m httpserver人家就可以訪問 http 你的ip 8000 來訪問你要共享的檔案了。像我早已把這個命令做了al...