顺序表基本运算 n初始化 void Initlist( Seqlist &l)i L data=( ListData *)malloc ListSize x sizeof( ListData )) if (L data== NULL)( printf(“存储分配失败!m”); exit( 1); Length= 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( seqlist &l, listData x) inti=0 while (i< llength & ldatail=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, listDatax) i inti=0, found=0; while(i< llength &&! 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; }
n求表的长度 int Length( seq list &l)& return Llength 提取函数:在表中提取第i个元素的值 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)i int i=Find(x) if (i>0&& i< Llength )return i+1 else return -1; 寻找x的前驱 int Next( Seqlist &l, ListData)t int i= Find(x) if (i>0&& 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; }