正在加载图片...
Algorithms and Datastructures: Search 1、静态查找表 1、顺序表的查找 应用范围:顺序表或线性链表表示的静杰查找表。表内元素之间无序。 顺序表的表示和查找。 表示: typedef struct{ ElemType *elem; int length;} SStable;∥ length=n+1 实现: int Search Seq( Sstable ST, KeyType key ∥n:结点个数 【 STele[].key=key;∥哨兵 设置哨兵的好处: for (i= ST length; EQ(STelem( key, key );--i 在顺序表中总可以找到 return I;∥返回0,查找失败,否则,找到key所在的 待查结点。否则,必须将 ∥数组元素的下标地址 判断条件i>=0加进for 语句。 }∥ Search Seq eg:查找key=8的结点所在的数组元素的下标 key 数组 STele 810010 3 01 2 3n-2n-1n SEAR3 物料管理 SEAR 3 Algorithms and DataStructures:Search 1、静态查找表 1、顺序表的查找 • 应用范围:顺序表或线性链表表示的静态查找表。表内元素之间无序。 • 顺序表的表示和查找。 表示:typedef struct { ElemType * elem; int length; } SStable; // length = n+1 实现: int Search_Seq( Sstable ST, KeyType key ) { ST.elem[0]. key = key; // 哨兵 for ( i = ST.length ; ! EQ(ST.elem[i]. key, key ) ; - - i ) return i; // 返回 0,查找失败,否则,找到key 所在的 // 数组元素的下标地址 } // Search_Seq ……………… 0 1 2 n-3 n-2 n-1 n i 数组 ST.elem key e.g: 查找 key = 8 的结点所在的数组元素的下标。 8 100 10 0 7 1 3 设置哨兵的好处: 在顺序表中总可以找到 待查结点。否则,必须将 判断条件i >= 0 加进 for 语句。 // n: 结点个数
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有