#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100
typedef struct{
int *elme;
int length;
}Sqlist;
Sqlist CreateList(Sqlist L){
L.elme=(int*)malloc(MAXSIZE*sizeof(int));
printf("请输入共多少项");
int n;
scanf("%d",&n);
L.length=n;
int i;
for(i=0;i<n;i++){
int m;
printf("请输入");
scanf("%d",&m);
L.elme[i]=m;
}
return L;
}
void ListInsert(Sqlist L,int x){
int i,j;
for(i=0;x>L.elme[i];i++){
if(i=L.length){
break;
}
}
for(j=L.length-1;j>=i;j--){
L.elme[j+1]=L.elme[j];
}
L.elme[i]=x;
}
void Output(Sqlist L){
int i;
for(i=0;i<=L.length-1;i++){
printf("%d\n",L.elme[i]);
}
}
int main() {
Sqlist va;
va=CreateList(va);
ListInsert(va,6);
Output(va);
return 0;
}
修改如下,供参考:
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100
typedef struct{
int *elme;
int length;
}Sqlist;
Sqlist CreateList(Sqlist L){
L.elme=(int*)malloc(MAXSIZE*sizeof(int));
printf("请输入共多少项");
int n;
scanf("%d",&n);
L.length=n;
int i;
for(i=0;i<n;i++){
int m;
printf("请输入");
scanf("%d",&m);
L.elme[i]=m;
}
return L;
}
Sqlist ListInsert(Sqlist L,int x){ //修改
int i,j;
for(i=0;x > L.elme[i] && i < L.length;i++){ //修改
; //if(i==L.length){ //if(i=L.length){
// break;
//}
}
for(j=L.length;j>i;j--){
L.elme[j]=L.elme[j-1]; //修改
}
L.elme[i]=x;
L.length++;
return L; //修改
}
void Output(Sqlist L){
int i;
for(i=0;i < L.length;i++){ //修改
printf("%d\n",L.elme[i]);
}
}
int main() {
Sqlist va;
va=CreateList(va);
//Output(va);
va=ListInsert(va,6);
Output(va);
return 0;
}