数据结构:链表
2015-06-19 10:38
330 查看
单链表 1.创建: 头插法 while(x!=-1){ s=(LinkList)malloc(sizeof(LNode)); s->data=x; s->next=H->next; H-next=s; } return H; 尾插法 while(x!=-1){ s=(LinkList)malloc(sizaof(LNode)); s->data=x; s->next=r->next; r->next=s; r=x; } return H; 2.查找Get_Linklist(H,k) while(p->next!=null&&j<k){ p=p->next; j++; } if(j==k) return p; else return NULL; 3.插入操作 将s插入到p后面 s->next=p->next; p->next=s; 将s插入到p的前面 q=H; while(q->next!=p){ q->next=q; s->next=q->next; q->next=s; 将s插在第i个节点的位置上 p=Get_Linklist(H,i-1); if(p==NULL) 插入错误 else{ s->next=p->next; p->next=s; return true; } 4.删除 p=Get_LinkList(H,i-1); if(p==null&&p->next==null) return error; else{ q=p->next; p->next=q->next; free(q);; return true; } 循环链表 1.合并 p=RA->next; RA->next=RB->next->next; free(RB->next); RB->next=p; 双向链表 (p->prior->next=p,p=p->next->prior) 1.将s插入到p的前面 s->prior=p->prior; p->prior->next=s; s->next=p; p->prior=s; 2.删除操作 p->prior->next=p->next; p->next->prior=p->prior; free(p);
相关文章推荐
- JavaScript中数据结构与算法(五):经典KMP算法
- 数据结构和算法-009 双向链表
- 数据结构学习之堆栈(链式存储)
- JavaScript中数据结构与算法(四):串(BF)
- JavaScript中数据结构与算法(三):链表
- 数据结构学习之堆栈(顺序存储)
- JavaScript中数据结构与算法(二):队列
- JavaScript中数据结构与算法(一):栈
- JavaScript中数据结构与算法(一):栈
- JavaScript中数据结构与算法(二):队列
- JavaScript中数据结构与算法(三):链表
- JavaScript中数据结构与算法(四):串(BF)
- JavaScript中数据结构与算法(五):经典KMP算法
- 数据结构-图存储表示之邻接表
- 【kd-tree】bzoj3290 Theresa与数据结构
- 数据结构学习之双向循环链表的基本操作(非递归实现)
- 数据结构学习之单向链表的基本操作(非递归实现)
- OpenCV基础篇之Mat数据结构
- 温习一下数据结构
- 数据结构与算法-----双向线性链表