typedef int datatype; /*定义datatype为整型*/
#define list-maxsize 100 /* 顺序表的最大长度为100*/
typedef struct
{
datatype data[list-maxsize]; /*将线性表定义为一个数组*/
int length; /*线性表当前的大小*/
}sqlist;
Intserch(int x, sqlist *L ,int n) 算法思想:从存储空间的第一个结
{ int i; 点即数组为0位开始向后依次查找,
for(i=0;i<n;i++) 若第i个结点的元素值等于x,则函
if(x= = L.data[i]) 数返回结点x在表中的位置i+1,
break; 若表中不存在结点x,返回0。
return(i+1); 时间复杂度为:O(n)
if(i= =n)
return(0);
}
Insert_sq(sqlist * L, int i, int e)
{ if(i<1 || i>L.length)
return error;
if(L.length>list_maxsize-1)
return error;
q=&(L.data[i-1]);
for(p=&(L.data[L.length-1]);p>=q; --p)
*(p+1)=*p;
*q=e;
++L.length;
return(ok);
}
Delete_sq(sqlist * L, int i, int e) /*在顺序表中删除第i个元素,并用
{ if( i<1 || i> L.length) e返回值,i合法值为:
return error; 1<=i<=L.length */
p=&(L.data[i-1]); 注:显然删除操作是插入操作的
e=*p; 反向操作。平均移动次数也是
q=&(L->data[L->length-1]); n/2,时间复杂度也是O(n)。
for(++p;p<=q;++q)
*(p-1)=*p;
--L.length;
return (ok); /* return(e);*/
abc.rar_ABC
版权申诉
196 浏览量
2022-09-24
03:23:07
上传
评论
收藏 890B RAR 举报
我虽横行却不霸道
- 粉丝: 75
- 资源: 1万+