#include <stdio.h>
#define SIZE 20
//定义线性表
typedef struct
{
int data[SIZE];
int length;
}SqList;
//初始化线性表
void Init_List(SqList *L)
{
int i=0;
for(i; i< SIZE; i++)
{
L->data[i]=i+1;
}
L->length=i;
}
//删除相邻两个数,并返回具体删除的数目
int DelTwo(SqList *L,int pos)
{
int num;
if(pos<0 || pos>L->length) num=0;
if(pos==L->length)
{
num=1;
L->length-=1;
}else{
num=2;
L->length-=2;
int k = --pos;
for(k; k<L->length; k++)
{
L->data[k] = L->data[k+2];
}
}
return num;
}
void print_SqList(SqList *L)
{
int l=0;
printf("The num : ");
for(l; l<L->length; l++)
{
printf("%d ",L->data[l]);
}
printf("\n");
}
void main()
{
SqList List;
SqList *L=&List;
Init_List(L);
print_SqList(L);
printf("Please input the position to delete: ");
int position;
scanf("%d",&position);
printf("There are %d num to be deleted\n",DelTwo(L,position));
print_SqList(L);
}
C语言关于线性表的相关操作
最新推荐文章于 2022-03-30 17:34:15 发布