顺序表基本运算 ■初始化 void InitList( Seqlist &l)i L data=( ListData *)malloc Listsize sizeof ListData)) if(L data== NULL)( printf(“存储分配失败!n”); exit (1); Llengt th=0
顺序表基本运算 ◼ 初始化 void InitList ( SeqList & L ) { L.data = ( ListData * ) malloc ( ListSize * sizeof ( ListData ) ); if ( L.data == NULL ) { printf ( “存储分配失败!\n” ); exit (1); } L.length = 0; }
按值查找:找x在表中的位置,若查找成功 返回表项的位置,否则返回-1 int Find( seq list &l, listData x)t inti=0 while(i< length & ldata!=x) i++; if(i< Llength)return i; else return -1
▪ 按值查找:找x在表中的位置,若查找成功, 返回表项的位置,否则返回-1 int Find ( SeqList &L, ListData x ) { int i = 0; while ( i < L.length && L.data[i] != x ) i++; if ( i < L.length ) return i; else return -1; }
按值查找:判断x是否在表中 int IsIn( Seqlist &l, listData x) int i=0 9 found=0 while(i< L length &&e found if(L data!=x)i++; else found=l return found
按值查找:判断x是否在表中 int IsIn ( SeqList &L, ListData x ) { int i = 0, found=0; while ( i < L.length &&!found ) if(L.data[i] != x ) i++; else found=1; return found; }
求表的长度 int Length( Seqlist &l) return Llength 提取函数:在表中提取第个元素的值 ListData GetData( Seqlist &l, int i)( if (i>=0 &&i<Llength return Ldatai print(“参数i不合理!Ⅷn”) else
◼ 求表的长度 int Length ( SeqList & L ) { return L.length; } ◼ 提取函数:在表中提取第 i 个元素的值 ListData GetData ( SeqList &L, int i ) { if ( i >= 0 && i < L.length ) return L.data[i]; else printf ( “参数 i 不合理!\n” ); }
按值查找:寻找x的后继 int Next( Seqlist &L, ListData x)& int i= Find(x); if (i>0 && i< Llength )return i+1 else return -1 寻找x的前驱 int Next( Seq list &l, listData xt int i= Find (x); if(i0&&i< Llength )return i-1 else return -1
▪ 按值查找:寻找x的后继 int Next ( SeqList &L, ListData x ) { int i = Find(x); if ( i >0 && i < L.length ) return i+1; else return -1; } ▪ 寻找x的前驱 int Next ( SeqList &L, ListData x ) { int i = Find(x); if ( i >0 && i < L.length ) return i-1; else return -1; }