#include<stdio.h>
#include<stdlib.h>
#define MAXLENGTH 100
typedef struct {
int data[MAXLENGTH];
int length;
}Val;
//定义结构体Val
int InitVal(Val *L) {
L->length = 10;
for (int i = 0; i < 10; i++) {
L->data[i] = i;
}
return 1;
}
//初始化结构体,可根据需求更改
int ListInsert(Val *L, int i, int e) {
//在线性表L的i位置插入e
int k;
for (k = L->length-1; k >=i-1; k--) {
L->data[k + 1] = L->data[k];
//将i位置后面的元素都赋值到后一位
}
L->data[i - 1] = e;
L->length++;
//增长线性表
return 0;
}
int main()
{
Val Elem;
//定义线性表Elem
int a,b;
printf("请输入要插入的元素:");
scanf("%d",&a);
printf("\n请输入要插入元素的位置:");
scanf("%d",&b);
InitVal(&Elem);//初始化线性表Elem
printf("插入前的线性表元素:\n");
for (int i = 0; i < Elem.length; i++) {
printf("%d ", Elem.data[i]);
//输出插入前Elem中所有的值
}
printf("\n");
ListInsert(&Elem, b, a);
printf("插入后的线性表元素:\n");
for (int i = 0 ; i < Elem.length ; i++) {
printf("%d ", Elem.data[i]);
//输出插入后Elem中所有的值
}
printf("\n");
}
初学数据结构,花了两天翻了各种书,查了各种东西,终于搞定了这个作业!!!