尾插法雙鏈表實現棧 檔案操作

2021-10-25 18:39:50 字數 1263 閱讀 6710

題:用鍊錶實現棧,棧中的資料從檔案中讀取,後將資料從棧頂開始到結尾輸出到檔案中

頭插法可看另一篇博文

#include

#include

#include

#include

using

namespace std;

struct node;

typedef

struct node* ptrtonode;

typedef ptrtonode stack;

typedef ptrtonode position;

//建立棧節點

struct node

;//建立棧

stack createstack()

else

}//判斷棧是否為空

intisempty

(stack s)

//將資料輸入到棧中

intpush

(int x, stack& s)

else

//尾插法

s->next = tmpcell;

s = tmpcell;

s->next =

null

;return0;

}}//將資料儲存到檔案中

void

pop2txt

(stack& s)

outres.

close()

; cout <<

"儲存成功!"

<< endl;

}//輸出棧中的內容(倒流輸出,與輸入到檔案中的資料順序一致)

void

show

(stack& s)

} cout << endl;

}int

main()

output.

close()

; ifstream input;

input.

open

("jin.txt");

stack s;

s =createstack()

;int a =

105;

int tmp;

while

(a--

) input.

close()

;//展示站內的資料

show

(s);

//將資料儲存到檔案中

pop2txt

(s);

return0;

}

建立雙鏈表(尾插法)

雙鏈表儲存結構 要建立雙鏈表,首先要明白雙鏈表的儲存結構定義 typedef struct dlinklist思想 該方法是將新節點插入雙鏈表的表尾,為此增加乙個尾指標r.使其始終指向當前鍊錶的尾結點 思路 1.建立頭結點l,定義乙個尾指標r,並同時將r指向l。2.通過for迴圈將陣列元素乙個個插入...

單鏈表 尾插法

linklist creatlistr1 void r next null 終端結點的指標域置空,或空表的頭結點指標域置空 return head r next s r s 尾插法是向鍊錶尾部逐漸插入結點的,像演算法中描述的一樣,然後r先指向頭指標,s是要逐個插入的結點的指標,r next s這句是...

單鏈表頭插法尾插法

標頭檔案如下 ifndef linklist h define linklist h define success 10000 define failure 10001 define size 10 typedef int element struct node typedef struct nod...