文章目錄
-
- 結構體的定義和使用
- 共用體類型
- 枚舉類型
- 自定義資料類型的應用-連結清單
-
- 連結清單的概念和分類
- 連結清單的運算
-
- 周遊
- 查找
- 插入
- 連結清單執行個體
結構體的定義和使用
隻能一個成員一個成員進行指派。
對整個結構體對象可以進行指派運算。
指針法需注意。
是一個值傳遞的過程。
共用體類型
共享存儲空間。
以占位元組數最多的對象為公用空間。
枚舉類型
自定義資料類型的應用-連結清單
連結清單的概念和分類
new之後的空間要delete。
連結清單的運算
周遊
查找
插入
連結清單執行個體
#include <iostream>
using namespace std;
typedef int datatype;
struct Node{
datatype data;
Node *next;
Node *prev;
};
void initial(Node *header,Node *tailer,int length){
int i;
Node *L = header;
for(i=0;i<length;i++){
Node *s;
s = new Node;
L -> next = s;
s -> data = i;
s -> prev = L;
s -> next = tailer;
L = s;
}
tailer -> prev = L;
}
void output(Node s){
if (s.prev == NULL) s = *(s.next);
if (s.next == NULL) cout << "NULL";
while(s.next != NULL){
cout << s.data << endl;
s = *(s.next);
}
}
void destroy(Node *header,Node *tailer){
Node *s = header -> next,*t;
while(s -> next != NULL){
t = s -> next;
delete s;
s = t;
}
header -> next = NULL;
tailer -> prev = NULL;
}
int main(){
Node header,tailer;
header.data = NULL,tailer.data = NULL,header.prev = NULL,tailer.prev = &header,header.next = &tailer,tailer.next = NULL;
initial(&header, &tailer, 10);
output(header);
destroy(&header,&tailer);
}