在书上看到的,学习学习。
题目:创建一个静态的顺序表存放整数,大小为10,完成以下操作。
(1)输入6个整数,打印出顺序表中的内容,并显示表中的剩余的空间个数。
(2)在顺序表中的第3个位置插入元素0,打印出顺序表中的内容,并显示表中剩余的空间个数。
(3)再试图插入表中第11个位置整数0,程序提示超出范围。
(4)删除表中第6个元素,打印出顺序表中的内容,并显示表中剩余的空间个数。
代码:
#include<iostream>
#include<stdio.h>
using namespace std;
#define maxsize 10
void insertElem(int sqlist[],int *len,int i,int x)
{
int t;
if(*len==maxsize||i<1||i>*len+1)
{
printf("This insert is illegal\n");
return;
}
for(t=*len-1;t>=i-1;t--)
sqlist[t+1]=sqlist[t];
sqlist[i-1]=x;
*len=*len+1;
}
void delElem(int sqlist[],int *len,int i)
{
int j;
if(i<1||i>*len)
{
printf("This insert is illegal");
return;
}
for(j=i;j<=*len-1;j++)
sqlist[j-1]=sqlist[j];
*len=*len-1;
}
int main()
{
int sqlist[maxsize];
int len;
int i;
for(i=0;i<6;i++)
scanf("%d",&sqlist[i]);
len=6;
for(i=0;i<len;i++)
printf("%d ",sqlist[i]);
printf("\nThe spare length is %d\n",maxsize-len);
insertElem(sqlist,&len,3,0);
for(i=0;i<len;i++)
printf("%d ",sqlist[i]);
printf("\nThe spare length is %d\n",maxsize-len);
insertElem(sqlist,&len,11,0);
delElem(sqlist,&len,6);
for(i=0;i<len;i++)
printf("%d ",sqlist[i]);
printf("\nThe spare length is %d\n",maxsize-len);
return 0;
}