棧 鍊錶模擬

2021-10-05 00:23:20 字數 1707 閱讀 7140

/** * 單向鍊錶模擬棧

*/public class singlelinkedliststackdemo

system.out.println("遍歷棧~~");

singlelinkedliststack.list();

// //建立乙個單鏈表

// singlelinkedlist singlelinkedlist = new singlelinkedlist(5);

////

// singlelinkedlist.update(1,1);

// singlelinkedlist.update(2,2);

// singlelinkedlist.update(3,3);

// singlelinkedlist.update(4,4);

// singlelinkedlist.update(5,5);

// singlelinkedlist.list();

// for (int i = 1; i <= 5; i++)

}}//單鏈表模擬棧

class singlelinkedliststack

//判斷棧空

public boolean isempty()

//判斷棧滿

public boolean isfull()

//入棧(push)

public void push(int value)

top++;//top指標向上移動 -1-->0

singlelinkedlist.update((top + 1), value); //修改第(top + 1) 個節點的值 0 -->

}//出棧

public int pop()

int value = singlelinkedlist.shownode(top + 1);//得到第(top+1)個節點的值

top--;//top指標下移

return value;//返回值

}//遍歷棧

public void list()

for (int i = (top + 1); i >= 1; i--)

}}//單鏈表

class singlelinkedlist

}//遍歷單鏈表

public void list()

temp = temp.next;//temp指標後移

system.out.println(temp);}}

//修改第n個節點的值為value

public void update(int n, int value)

temp.value = value;

}//返回第n個節點的值

public int shownode(int n)

return temp.value;

}}//節點

class node

@override

public string tostring() ';}}

鍊錶模擬棧

棧是只有乙個埠的容器,只能從一邊進行放入和取出的操作。棧的特點是先進後出,後進先出。以下是用鍊錶模擬棧的基本操作 includeusing namespace std templatestruct node templateclass tstack templatetstack tstack tem...

(基礎) 陣列模擬鍊錶 棧 佇列

適用於鄰接表 儲存圖和樹 head 表示頭結點的下標 e i 表示節點i的值 ne i 表示節點i的next指標是多少 idx 儲存當你已經用到的那個點 int head,e n ne n idx 初始化 void init 將x插到頭結點 void add to head int x 將x插到下標...

模擬單向雙向鍊錶 模擬棧與佇列 KMP

單鏈表模擬單鏈表 include.h using namespace std const int n 1e5 10 int head,ne n e n idx int n head 指向頭節點 ne i 指向第i個節點的下乙個節點 e i 第i個節點的值 idx 儲存當前已經用到了哪個點 void ...