改进算法 int seq search2 (Se list a, keytype k) /没置了监视哨的顺序表查找,査找关键字值等于指定 值k的记录, 若查找成功,返回记录存放位置的下标值,否则返回0 En a0.key=k; while(a[i]. key !=k)i. return(1) 请单鼠标左键换页!
改进算法: int seq_search2 (Se_List a,keytype k) { //设置了监视哨的顺序表查找,查找关键字值等于指定 值k的记录, //若查找成功,返回记录存放位置的下标值,否则返回0 i=n ; a[0].key=k ; while ( a[i].key != k) i--; return ( i ) ; }
3.链表的顺序查找 链表的顺序查找是指将查找表作为线性表并以链 式存储结构存储,用顺序査找方法查找与指定关键字 值相等的记录。 链表的类型定义如下所示: typedef struct node keytype key;/结点的关键字类型 anytype otheritem;/结点的其他成分 struct node *next;/指向链表结点的指针 Link Node, Link: 请单赤鼠标左键换页!
3. 链表的顺序查找 链表的顺序查找是指将查找表作为线性表并以链 式存储结构存储,用顺序查找方法查找与指定关键字 值相等的记录。 链表的类型定义如下所示: typedef struct node { keytype key; //结点的关键字类型 anytype otheritem; //结点的其他成分 struct node *next; //指向链表结点的指针 }Link_Node,*Link;
将查找表中的数据元素用这种结构的结点表示, 并以指向头结点的指针标识。 对链表实现顺寻查找就是在有头结点的链式查找 表中查找关键字值等于给定值的记录,若查找成功 返回指向相应结点的指针,否则返回空指针。 请单鼠标左键换页!
将查找表中的数据元素用这种结构的结点表示, 并以指向头结点的指针标识。 对链表实现顺寻查找就是在有头结点的链式查找 表中查找关键字值等于给定值的记录,若查找成功, 返回指向相应结点的指针,否则返回空指针
Link node *link search(Link h, keytype k) Uink为带头结点链表的头指针,查找关键字值等 于k的记录, 找成功,返回指向找到的结点的指针,查找 失败返回空指针 p=h->next; while((p!=null &&(p->key! =k) p=p->next return 顺序查找算法简单,对表的结构无任何要求;但 是执行效率较低,尤其当n较大时,不宜采用这种查找 方法。 请单鼠标左键换页!
Link_Node *link_search (Link h , keytype k) {//link为带头结点链表的头指针,查找关键字值等 于k的记录, //查找成功,返回指向找到的结点的指针,查找 失败返回空指针 p=h->next; while ((p!=NULL) && (p->key!=k)) p=p->next; return p; } 顺序查找算法简单,对表的结构无任何要求;但 是执行效率较低,尤其当n较大时,不宜采用这种查找 方法
7.2.2折半查找 1.折半查找的基本思想 折半查找要求查找表用顺序存储结构存放且各数 据元素按关键字有序(升序或隆序)排列,也就是说 折半查找只适用于对有序顺序表进行查找。 请单赤鼠标左键换页!
7.2.2 折半查找 1. 折半查找的基本思想 折半查找要求查找表用顺序存储结构存放且各数 据元素按关键字有序(升序或隆序)排列,也就是说 折半查找只适用于对有序顺序表进行查找