#include "stdafx.h"
#include<stdlib.h>
#include<stdio.h>
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 20
typedef struct{
int lenght;
int listsize;
int *elem;
}SqList;
int InitList_Sq(SqList &L){
L.elem=(int *)malloc(LIST_INIT_SIZE*sizeof(int));
if(!L.elem)
exit(1);
L.lenght=0;
L.listsize=LIST_INIT_SIZE;
return 1;
}
int addElem(SqList &L,int elem){
L.elem[L.lenght]=elem;
L.lenght++;
return 1;
}
int ListInsert_Sq(SqList &L,int i,int e)
{
int *newbase,*p,*q;
if(i<1||i>L.lenght+1) return 0;
if(L.lenght>=L.listsize)
{
newbase=(int *)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(int));
if(!newbase)
exit(0);
L.elem=newbase;
L.listsize+=LISTINCREMENT;
}
q=&(L.elem[i-1]);
for(p=&(L.elem[L.lenght-1]);p>=q;--p)
*(p+1)=*p;
*q=e;
++L.lenght;
return 1;
}
int ListDelete_Sq(SqList &L,int i,int e)
{ int *p,*q;
if((i<1)||(i>L.lenght))
return 0;
p=&(L.elem[i-1]);
e=*p;
q=L.elem+L.lenght-1;
for(++p;p<=q;p++)
*(p-1)=*p;
--L.lenght;
return 1;
}
int Show(SqList L){
for(int i=0;i<L.lenght;i++){
printf("%d\n",L.elem[i]);}
return 1;
}
这是线性存储的相关功能,如创建,添加,删除,显示各元素等,现在问题是
就差键盘输入而具体实现了,可是我也黔驴技穷了!!帮我解答成功者,给20分!!!