/** * 單向鍊錶模擬棧
*/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 ...