正在加载图片...
顺序查找 应用范围:顺序表或线性链表表示的静杰查找表。表内元素之间无序或有序。 template <class Type> int SeqSearch( const Vector< Type>&A, const Type key, int N A[0=key;∥将待査key置于哨兵单元,可省掉越界检査。 设置哨兵的好处: for(int k=N; Ak!= key;--k) 在顺序表中总可以找到 return k; 待查结点。否则,必须将 ∥返回0,查找失败。否则,找到关键字为key的结点的下标 判断条件i>=0加进for 语句。 eg:查找x=8的结点所在的数组元素的下标 key 向量 Vector810010 3 2 n-3n-2n-1n顺序查找 • 应用范围:顺序表或线性链表表示的静态查找表。表内元素之间无序或有序。 ……………… 0 1 2 n-3 n-2 n-1 n i 向量 Vector key e.g: 查找 x = 8 的结点所在的数组元素的下标。 8 100 10 0 7 1 3 设置哨兵的好处: 在顺序表中总可以找到 待查结点。否则,必须将 判断条件i >= 0 加进 for 语句。 template <class Type> int SeqSearch( const Vector<Type> & A, const Type key,int N ){ A[0] = key; // 将待查 key 置于哨兵单元,可省掉越界检查。 for ( int k = N; A[k] != key; --k ) return k; // 返回0,查找失败。否则,找到关键字为key 的结点的下标 }
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有