删除表中重复信息 10 1 2 3 6 6 7 8 9 3 4 8 1 2 3 6 7 8 9 4

#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;iif(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;}

修改如下,供参考:

#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;
}