线性表的基本操作,建立、查找、插入及删除操作的算法实现(作业,HELP)

2025-04-26 10:15:02
推荐回答(1个)
回答1:

Status SqList_Init(SqList &L)
{
L.elem = (ElemType*)malloc(InitSize*sizeof(ElemType)) ;
if(!L.elem) return error ;
L.length = 0 ;
L.ListSize=InitSize ;
return ok ;
}
Status SqList_Put(SqList &L)
{
int i ;
ElemType x ;
cout<<"请输入线性表的元素,输入9999表示停止输入"< for(i=0 ; i {
if(L.length>=L.ListSize)
{
L.elem=(ElemType *)malloc((L.ListSize+Increse)*sizeof(ElemType)) ;
L.ListSize += Increse ;
}
cout<<"请输入线性表的第"< cin>>x;
if(x==9999) break ;
L.elem[i] = x ;
L.length++ ;

}
cout<<"你已经成功把数据元素放入线性表"< return ok ;
}
Status SqList_Display(SqList L)
{
int i ;
cout<<"线性表的数据元素为:"< for(i=0 ;i {
cout< }
cout< return ok ;
}
Status SqList_Search(SqList L)
{
ElemType x;
int i , Label=0 ;

cout<<"请输入你要查找的元素"< cin>>x ;
for(i=0 ; i {
if( L.elem[i]==x )
{
cout<<"你所查找的元素位于该线性表的第"< Label=1 ;
}

}
if(!Label) cout<<"线性表不存在你要查找的元素"< return ok ;
}
Status SqList_Delete(SqList &L)
{
ElemType x ;
int i , j ;
cout<<"请输入你要删除的元素"< cin>>x ;
for(i=0 ; i {
if(L.elem[i]==x)
{
for(j=i ; j L.elem[j]=L.elem[j+1] ;
i=0 ;
L.length-- ;
}
}
cout<<"在线性表中删除了所有值为"< return ok ;
}
SqList_Clear(SqList &L)
{
L.length=0;
return ok;
}
void main()
{
SqList SqList_obj ;
SqList_Init(SqList_obj) ;
SqList_Put(SqList_obj) ;
SqList_Display(SqList_obj) ;
SqList_Search(SqList_obj) ;
SqList_Delete(SqList_obj) ;
SqList_Display(SqList_obj) ;
SqList_Clear(SqList_obj) ;