什麼是棧:
棧是一種只能在一端插入或刪除的線性表。在表中,允許進行插入或刪除的一端叫做棧頂。(ps:我覺得棧就是乙個陣列,棧頂就是下標)表的另一端稱為棧底,當棧中沒有元素時稱為空棧,棧的插入稱為入棧或進戰,棧中資料元素的刪除稱為出棧或退棧。
棧的特點:
後進先出(last in first out ),就是說後進的資料元素先出棧。每次進棧的資料元素都放在原來棧頂元素之前成為新的棧頂元素,每次出棧的資料元素都是當前棧頂元素。
棧的基本形式
adk stack
資料物件;
棧頂指標;
棧空條件;
s->top==-1
棧滿條件:
s->top==maxsize-1
元素的進棧操作
先將棧頂指標加一,然後將元素放在棧頂指標處
元素出棧操作
先將棧頂元素取出,然後棧頂指標減一
棧的基本運算的實現
建立棧void instack(sqstack* &s)
s=(sqstack*)malloc(sizeof(sqstack));
s->top=-1;
銷毀棧void destorystack(sqstack* &s)
free(s);
判斷棧是否為空
bool stackempty(sqstack* &s)
return (s->top==-1);
進棧bool push(sqstack* &s,int e)
s->top++;
s->data[s->top]=e;
return true;
出棧bool pop(sqstack* &s,int e)
if(s->top==-1)
return false;
e=s->data[s->top];
s->top--;
return true;
取棧頂元素
bool gettop(sqstack* &s,int e)
if(s->top==-1)
return false;
e=s->data[s->top];
s->top--;
return true;
基本知識點
1 程序和執行緒的關係 1 在有執行緒的作業系統裡面,程序是分配資源的基本單位,執行緒是排程的基本單位。2 1個程序可以擁有多個執行緒 3 執行緒同時也有一些自己的資源,包括 程式計數器,堆疊等 4 因為執行緒所擁有的資源比較少,因此進行排程的時候所消耗的資源就少。5 執行緒共享程序的 段,程序的一...
基本知識點
dram 動態隨機訪問儲存器 dynamic random access memory 隨機訪問的意思是,訪問任何乙個記憶體單元的速度和它的位置 位址 無關,讀寫位址0x00001和0xffff0所需要的事件是一樣的。rom 唯讀儲存器 read only memory 它的內容是預先寫入的,掉電也...
PHP基本知識點
1.http協議中幾個狀態碼的含義 503 500 401 200 301 302。http狀態碼 1 請求收到,繼續處理 2 操作成功收到,分析 接受 3 完成此請求必須進一步處理 4 請求包含乙個錯誤語法或不能完成 5 伺服器執行乙個完全有效請求失敗 500 伺服器產生內部錯誤 501 伺服器不...