标签:通过 span data ext nbsp 数据结构与算法 tty fine 包含
线性链式存储:
包含两部分:1.存储的单个元素
2.指针,指向下一个的地址
typedef struct() { ElementType Data; struct Node *Next; }List ; List L,Ptrl;
Ps:算法应保证具有可移植性,(ElementType)
表长函数,相比顺序数组存储复杂,需要遍历所有元素
定义一个新指针,始终指向当前的这个链表。
int length(List *Ptrl) { int i=0; List *p=Ptrl; while(p!=NULL) { p=p->Next; //通过指针实现了链表的链接 i++:} return i; }
下面进行查找数据,有两种查询方式,一种按第几个元素查找,一种按数据值查找。
按第几个元素查找: List *FineKth(int K,List *Ptrl) { List *p=Ptrl; int i=1; while(p!=Null && i<K) { p=p->Next; i++; } if(i==K) return p; else return NULL; }
K有查找范围,处理特殊情况时候:1. K<1 ,直接执行return NULL
2.K>链表长度的时候 此时p=Null,也是return NULL
3.因此不可以直接 return p;
按数据值查询: List *FindKth(List *Ptrl,ElementType x) { List *p=Ptrl; while(p->Next!=NULL && p->Data!=x) p=p->Next; return p; }
由于没有类似的K值的限制,可以直接return p
标签:通过 span data ext nbsp 数据结构与算法 tty fine 包含
原文地址:http://www.cnblogs.com/guoshiyv/p/7048154.html