題:用鍊錶實現棧,棧中的資料從檔案中讀取,後將資料從棧頂開始到結尾輸出到檔案中
頭插法可看另一篇博文
#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...