中级day3作业
初始化顺序表(顺序表中元素为整型),里边的元素是1,2,3,
然后通过scanf读取一个元素(假如插入的是6),
插入到第2个位置,打印输出顺序表,每个元素占3个空格,格式为1 6 2 3,
然后scanf读取一个整型数,是删除的位置(假如输入为1),
然后输出顺序表 6 2 3,假如输入的位置不合法,输出false字符串。
提醒,Language一定要选为C++。
#define MaxSize 100
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
/*初始化顺序表(顺序表中元素为整型),里边的元素是1,2,3,
然后通过scanf读取一个元素(假如插入的是6),
插入到第2个位置,打印输出顺序表,每个元素占3个空格,格式为1 6 2 3,
然后scanf读取一个整型数,是删除的位置(假如输入为1),
然后输出顺序表 6 2 3,假如输入的位置不合法,输出false字符串。
提醒,Language一定要选为C++。*/
typedef struct Linklist {
int data[MaxSize];
int length;
}SqList;
void deletelist(SqList& L, int j) {
if (j > L.length || j < 1) {
printf("false");
}
else {
for (int i = j - 1; i <= L.length; i++) {
L.data[i] = L.data[i + 1];
}
L.length--;
for (int i = 0; i < L.length; i++) {
printf("%3d ", L.data[i]);
}
}
}
void insertlist(SqList& L,int a) {
for (int i = L.length; i >=1; i--) {
L.data[i] = L.data[i-1];
}
L.data[1] = a;
L.length++;
}
int main() {
SqList L;
L.data[0] = 1;
L.data[1] = 2;
L.data[2] = 3;
L.length = 3;
int i;
scanf("%d", &i);
insertlist(L, i);
for (int i = 0; i <L.length; i++) {
printf("%3d", L.data[i]);
}
int j;
scanf("%d", &j);
deletelist(L, j);
return 0;
}