#include <iostream> using namespace std; #define MaxSize 50 typedef int ElemType; //定义变量int的别名 typedef struct{ ElemType date[MaxSize]; int length; }Sqlist; //定义一个Sqlist线性表的结构体类型 void InitList(Sqlist *&L){ L=(Sqlist *)malloc(sizeof(Sqlist)); L->length=0; } //初始化线性表 void destoreylist(Sqlist *&L){ free(L); } //销毁malloc为线性表创建的动态空间 void displaylist(Sqlist *&L){ int i; for(i=0;i<L->length;i++) { printf( "%d",L->date[i]); printf("\t"); } } //打印线性表中数据 void CreatLinktf(Sqlist * &L, ElemType a[],int n){ int i; L=(Sqlist *)malloc(sizeof(Sqlist)); //为结构体L分配一块动态内存 for(i=0;i<n;i++){ L->date[i]=a[i]; //将数组值赋给结构体元素 L->length=n; //指定线性表长度 } } //函数功能是将数组a的元素依次存入线性表 bool listinsert(Sqlist * &L, int i, ElemType e) { int j; if(i<1|| i > L->length+1){ return false; } else{ i--; for (j= L->length;i<j;j-- ) { L->date[j]= L->date[j-1];//元素是从0开始到j-1 } L->date[j]=e; L->length++; return true; } } //从指定位置插入元素 int main() { Sqlist * L; int b =10; int a[10]; cout<<"please input date\n"<<endl; for (int i =0;i<10;i++) { cin>>a[i]; } CreatLinktf(L,a,b); displaylist(L); destoreylist(L) return 0; }