结构体的定义和使用
只能一个成员一个成员进行赋值。
对整个结构体对象可以进行赋值运算。
指针法需注意。
是一个值传递的过程。
共用体类型
共享存储空间。
以占字节数最多的对象为公用空间。
枚举类型
自定义数据类型的应用-链表
链表的概念和分类
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);
}