#include
#include
#define list_size 10000
typedef int ElemType;
typedef struct
{
ElemType *elem;
int data;
int length;
}SqList;
int initializer_List(SqList &L, int n)
{
L.elem=(int *)malloc(sizeof(n));
if(!L.elem)
return -1;
L.length = 0;
L.data = list_size;
return 0; }
void CreatList(SqList &L,int n)
{
int i;
L.elem=(int *)malloc(sizeof(n));
for(i = 0;i
{
scanf("%d", &L.elem[i]);
L.length++;
}
}
void DeleteSimple(SqList &L)
{
int i,k,j;
for(i=0;i
for(j=i+1;j<=L.length;j++)
{
if(L.elem[i]==L.elem[j])
{
for( k=j;k<=L.length-1;k++) {
L.elem[k]=L.elem[k+1]; } L.length--;
j--; } } } }
void ListLength(SqList &L) {
printf("%d\n",L.length); }
void show(SqList &L) {
int i;
for( i=0;i
printf("%d\n", L.elem[i]);
else printf("%d ", L.elem[i]); }
int main(){
SqList L;
int n;
scanf("%d",&n);
initializer_List(L,n);
CreatList(L,n);
DeleteSimple(L);
ListLength(L);
show(L); return 0;}
修改如下,供参考:
#include <stdio.h>
#include <stdlib.h>
#define list_size 10000
typedef int ElemType;
typedef struct
{
ElemType *elem;
int data;
int length;
}SqList;
int initializer_List(SqList &L, int n)
{
L.elem=(ElemType *)malloc(sizeof(ElemType)*n);
//L.elem=(int *)malloc(sizeof(n)); 修改
if(!L.elem)
return -1;
L.length = 0;
L.data = list_size;
return 0;
}
void CreatList(SqList &L,int n)
{
int i;
//L.elem=(int *)malloc(sizeof(n)); 修改
for(i = 0;i < n;i++)
{
scanf("%d", &L.elem[i]);
L.length++;
}
}
void DeleteSimple(SqList &L)
{
int i,k,j;
for(i = 0;i < L.length-1;i++) { //(i=0;i<L.length;i++)修改
for(j=i+1;j < L.length;j++) //(j=i+1;j <= L.length;j++) 修改
{
if(L.elem[i] == L.elem[j])
{
for(k = j;k < L.length - 1;k++) { //(k = j;k <= L.length-1;k++) 修改
L.elem[k]=L.elem[k+1];
}
L.length--;
j--;
}
}
}
}
void ListLength(SqList &L)
{
printf("%d\n",L.length);
}
void show(SqList &L)
{
int i;
for( i=0;i<L.length;i++)
if(i==L.length-1)
printf("%d\n", L.elem[i]);
else
printf("%d ", L.elem[i]);
}
int main()
{
SqList L;
int n;
scanf("%d",&n);
initializer_List(L,n);
CreatList(L,n);
DeleteSimple(L);
ListLength(L);
show(L);
return 0;
}