#include"stdio.h"
#include"stdlib.h"
#define maxSize 100
/*定义顺序表性表的结构体*/
typedef struct
{
int data[maxSize];
int length;
}Sqlist;
//初始化顺序表
void initList(Sqlist &L){
L.length=0;
}
//插入元素
int insertElem(Sqlist &L,int p,int e){
int i;
if(p<0||p>L.length||L.length==maxSize)
return 0;
for(i=L.length-1;i>=p;i--){
L.data[i+1]=L.data[i];
}
L.data[p]=e;
L.length++;
return 1;
}
//删除元素并将该元素赋值给e
int deleteElem(Sqlist &L,int p,int &e){
int i;
if(p<0||p>L.length-1)
return 0; //删除不成功
e=L.data[p];
for(i=p;i<L.length-1;i++)
L.data[i]=L.data[i+1];
L.length--;
return 1;
}
//按元素值查找
int findElem(Sqlist L,int e){
int i;
for(i=0;i<L.length;i++)
if(e==L.data[i])
return i; //返回元素下标
return -1;
}
//输出顺序表
void printfList(Sqlist L){
for(int j=0;j<L.length;j++)
printf("%d ",L.data[j]);
printf("\n");
}
int main(){
Sqlist list;
initList(list);
printf("线性表Sqlist初始化成功!\n");
for(int i=0;i<=9;i++)
{
insertElem(list,0,i);
}
//输出顺序表
printfList(list);
//找到元素为5,返回下标
printf("顺序表中值为5的下标:%d \n",findElem(list,5));
int a;
//删除下标为1位置的元素 保存到a中
deleteElem(list,1,a);
//输出顺序表
printfList(list);
return 0;
}
数据结构--顺序表
猜你喜欢
转载自blog.csdn.net/huanniangyuan5422/article/details/80779835
周排行