C语言实现顺序表

#include<stdio.h>
#include<stdlib.h>
#define MAX_SIZE 100//定义顺序表最大容量 
#define init_SIZE 10
typedef int ELEMENT_TYPE;
typedef struct {
ELEMENT_TYPE *element;
ELEMENT_TYPE length;
}List;
//初始化顺序表 
void initList(List &list)
{
list.element=(ELEMENT_TYPE *)malloc(init_SIZE*sizeof(ELEMENT_TYPE)) ;
list.length=0;
 } 
 //在顺序表中插入一个值 
 void insertList(List &list,int locate,ELEMENT_TYPE value) 
 {
  if(locate<1||locate>MAX_SIZE)
  printf("您要插入的位置超出范围") ;
 
  for(int i=list.length;i>=locate;i--)
  {
  list.element[i]=list.element[i-1];
 
}
list.element[locate-1]=value;
list.length++;
printf("您在第%d个位置上插入的数值为: %d\n",locate,list.element[locate-1]);
 }
 //删除顺序表中的一个值 
 void deleteList(List &list,int locate)
{
ELEMENT_TYPE e=list.element[locate-1]; 
for(int i=locate;i<list.length;i++)
{
list.element[i-1]=list.element[i];
}
printf("第%d号位置的%d已经删除成功!\n",locate,e);
list.length--;
}
//遍历整个顺序表 
 void print(List &list) 
 {
  printf("遍历整个顺序表:") ;
  for(int i=0;i<list.length;i++)
  {
  printf("%d\t",list.element[i]);
}
 }
int main() 
{
List list;
initList(list);
insertList(list,1,11);
insertList(list,2,22);
insertList(list,3,33);
print(list);
printf("\n");
insertList(list,2,99);
print(list);
printf("\n");
deleteList(list,2);
print(list);
return 0;

}

运行结果:

您在第1个位置上插入的数值为: 11
您在第2个位置上插入的数值为: 22
您在第3个位置上插入的数值为: 33
遍历整个顺序表:11      22      33
您在第2个位置上插入的数值为: 99
遍历整个顺序表:11      99      22      33
第2号位置的99已经删除成功!
遍历整个顺序表:11      22      33
--------------------------------
Process exited after 0.02087 seconds with return value 0
请按任意键继续. . .


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值