#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;
#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
请按任意键继续. . .