-
在顺序表L中第i个位置插入新元素(可执行完整代码C语言)
#include <stdio.h>
#define MaxSize 50
typedef int Elemtype;
typedef struct {
Elemtype data[MaxSize];
int length;
}SqList;
//在顺序表L的第i个位置插入新元素e
bool Insert(SqList& L,int i,Elemtype e) {
if (i > L.length + 1 || i < 1) {
return false;
}//此位置非法
if (L.length >= MaxSize) {
return false;
}//当前存储空间已满不能继续插入
for (int j=L.length;j>=i;j--)
{
L.data[j] = L.data[j - 1];
}//将数据向后移动给i留出空位
L.data[i - 1] = e;
L.length++;//表长增加
return true;
}
void PrintSqList(SqList& L) {
for (int i = 0; i < L.length; i++)
{
printf("L.data[%d]=%d\n", i, L.data[i]);
}
}
int main() {
SqList L;
L.length = 0;//将表长初始化
for (int i = 0; i < 30; i++) {
L.data[i] = i;
L.length++;
}
int y=6;
Insert(L, y, 8);
PrintSqList(L);
return 0;
}