2 2鏈棧的表示與實現

2021-10-12 01:37:29 字數 1108 閱讀 5257

採用鏈式儲存方式的棧稱為鏈棧或者鏈式棧。設定頭結點。並且一般top指向頭結點。

**實現:

linkstack.h

#pragma once

#include #include typedef char datatype;

typedef struct node

lstacknode,*linkstack;

//初始化

void initstack(linkstack *top)

(*top)->next = null;

}//判空

int stackempty(linkstack top)

//獲取棧頂元素

int gettop(linkstack top,datatype* e)

*e = p->data;

return 1;

}//在棧中插入元素

int pushstack(linkstack top,datatype e)

p->data = e;

p->next = top->next;

top->next = p; //成功返回1否則返回0

return 1;

}//彈出棧頂元素

int popstack(linkstack top,datatype *e)

top->next = p->next;

*e = p->data;

free(p);

return 1;

}//獲取棧長度

int stacklength(linkstack top)

return count;

}//清空棧

void clearstack(linkstack top)

}

test.c

#include #include #include "linkstack.h"

void main()

printf("元素出棧的序列是:");

while (!stackempty(s))

printf("\n");

}

鏈棧 棧的鏈式表示和實現

用鏈表示的棧的基本操作 include include define maxsize 1000 鍊錶的最大長度 define selemtype int define status int 棧的結構 typedef struct lstacklstack,lstacklist 初始化 status ...

棧的表示與實現

棧是指在標尾進行插入和刪除操作的線性表。按照後進先出的原則來訪問資料。先看其簡單實現 簡單的順序棧 includeusing namespace std define error 0 define ok 1 class sta 定義乙個棧類 int push int t 入棧 int pop int...

順序棧的表示與實現

說明 想要使用順序表實現棧,結構體中應包含棧頂和棧底的指標,同時需要指定棧的儲存單元大小 動態可變 其中棧底指標base用來動態分配棧的記憶體空間,棧頂指標top用來指定棧頂元素在順序棧中的位置。初始化時top bas etop base top ba se,表示棧中無元素,而後每壓入乙個新的元素,...