@quinn
2015-03-20T09:27:24.000000Z
字数 933
阅读 3014
数据结构
头插入:head->next= head;
在x节点后插入t节点:t->next= x->next; x->next = t;
删除x后的节点:x->next= x->next->next;
遍历循环:(1) t =head;
do{ …; t = t->next; }while(t!= head);
(2)for(t= head; t != head; t = t->next) {…}
测试只有一个元素:if(head->next == head)
初始化:head =NULL;
在x节点后插入t节点:if(x ==NULL) { head = t; t->next = NULL} //空表
else{ t->next= x->next; x->next = t;}
删除x后的节点:t = x->next; x->next = t->next; free(t);
遍历循环:(1) t =head; while(t!=NULL) {…; t = t->next}
(2)for(t= head; t !=NULL; t = t->next) {…}
测试表是否为空:if(head ==NULL)
初始化:head = (Node*)malloc(sizeof(*head)); head->next =NULL;
在x节点后插入t节点:if(x ==NULL) {head->next= t; t->next = NULL}//空表
else{t->next = x->next; x->next= t}
删除x后的节点:t = x->next; x->next = t->next; free(t);
遍历循环:(1) t =head->next; while(t !=NULL) {…; t = t->next}
(2)for(t= head->next; t !=NULL; t = t->next) {…}
测试链表为空:if(head->next ==NULL);
初始化:head = (Node*)malloc(sizeof(*head));
z= (Node*)malloc(sizeof(*z));
head->next= z; z->next = z;
插入、删除、遍历同上;
测试链表为空:if(head->next == z);
《算法:C语言实现》P57