#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<sys/malloc.h>
#define MaxSize 50
#define INITSIZE 100
#define OVERFLOW -1
using namespace std;
typedef int ElemType;
typedef struct
{
ElemType *data; //存放元素基地址
int length;
}sqlist;
//初始化线性表
void InitList(sqlist &L)
{
L.data=new ElemType[MaxSize];
L.length=0;
}
//顺序表的取值
void CreateList(sqlist &L)
{
int i,N;
cout<<"请输入顺序表中元素的个数:";
cin>>N;
cout<<"请输入顺序表中的元素:";
for(i=0;i<N;i++)
{
cin>>L.data[i];
L.length++;
}
}
// 输出线性表
void DispList(sqlist &L)
{
int i;
for(i=0;i<L.length;i++)
printf("%d ",L.data[i]);
printf("\n");
}
//查找最大元素
int MaxList(sqlist &L)
{
int max,t;
int i=0;
for(max=L.data[i];i<L.length;i++)
{
if(L.data[i]>max)
{
t=L.data[i];
L.data[i]=max;
max=t;
}
}
return max;
}
bool ListInsert(sqlist &L, int i, ElemType e)
{
int j;
if (i<1 || i> L.length+1)
return false;
i--;
for (j=L.length; j>i; j--)
L.data[j]=L.data[j-1];
L.data[i]=e;
L.length++;
return true;}
int main()
{
int i;
ElemType num1;
sqlist L;
InitList(L);
CreateList(L);
printf("该顺序表为:");
DispList(L);
printf("最大的元素是:%d\n",MaxList(L));
printf("您想在哪个位置插入元素:");
scanf("%d",&i);
printf("您想插入什么元素:");
scanf("%d",&num1);
ListInsert(L,i,num1);
DispList(L);
return 0;
}
如图,顺序表中插入元素怎么做也不对,不知道怎么改了