链表游标实现
2016-11-25 16:56
232 查看
#include<stdio.h> #include<string.h> #include<math.h> #include<algorithm> const int MAX = 10; struct node{ int num; int next; } CursorSpace[MAX]; void init_CursorSpace() { for(int i = 0; i < 9; i++) { CursorSpace[i].next = i + 1; } CursorSpace[MAX - 1].next= 0; } void construction() { for(int i = 0; i < 10; i++) { scanf("%d",&CursorSpace[i].num); } } int Find(int number,int L) { int p = CursorSpace[L].next; while(p&&CursorSpace[p].num != number) { p = CursorSpace[p].next; } return p; } static int Cursormalloc() { int p; p = CursorSpace[0].next; CursorSpace[0].next = CursorSpace[p].next; return p; } static int Cursorfree(int p) { CursorSpace[p].next = CursorSpace[0].next; CursorSpace[0].next = p; } int Findprevious(int number,int L) { int p = L; while(CursorSpace[p].next&&CursorSpace[CursorSpace[p].next].num != number) { p = CursorSpace[p].next; } return p; } void insert(int number,int L,int p) { int Tlic = Cursormalloc(); if(Tlic == 0) { printf("out of space!\n"); } CursorSpace[Tlic].num = number; CursorSpace[Tlic].next = CursorSpace[p].next; CursorSpace[p].next = Tlic; } int IsEmpty(int L) { return CursorSpace[L].next == 0; } void del(int number,int L) { int Tmp; int p = Findprevious(number,L); if(!IsEmpty(p)) { Tmp = CursorSpace[p].next; CursorSpace[p].next = CursorSpace[Tmp].next; Cursorfree(Tmp); } } void print(int L) { int p = CursorSpace[L].next; while(p) { printf("%d ",CursorSpace[p].num); p = CursorSpace[p].next; } printf("\n"); } int main(void) { init_CursorSpace(); int L = Cursormalloc(); CursorSpace[L].next = 0; printf("%d\n",L); int p = L; int n,val; scanf("%d",&n); for(int i = 0; i < n; i++) { scanf("%d",&val); insert(val,L,p); p = CursorSpace[p].next; } print(L); int find; scanf("%d",&find); printf("%d\n",Find(find,L)); int de; scanf("%d",&de); del(de,L); print(L); return 0; }
相关文章推荐
- 链表的游标实现(Java)
- 单链表的游标实现:插入、删除、查找、打印等功能
- 链表的游标实现?
- 链表的游标实现(最全面)
- 链表的游标实现
- 链表的游标实现
- 链表的游标实现
- 链表的游标实现
- 链表的游标(cursor)实现
- 算法学习 - 链表的游标实现~ C++
- c语言,顺序空间游标链表的实现
- 单链表--游标实现
- 链表的游标实现
- [数据结构与算法分析] 链表的游标实现
- 链表-游标实现(C语言版)
- 链表的游标(cursor)实现
- [数据结构与算法分析] 链表的游标实现
- 链表的游标实现
- 数据结构之静态链表的游标表示及其实现(附完整代码)
- DataStructure---LinkList 链表C语言实现代码