题目是这样的。
生成线性表,L={2,8,9,7,5,2,6,8,7}为L编写删除重复元素的函数deletevalue() 得到新线性表L={2,8,9,7,5,6}
第二题。生成单链表La={2,4,6,8,10} Lb=1,3,5,7,9} 编写程序SumL()将两链表合并为Lc={1,2,3,4,5,6,7,8,9,10}
题目是这样的。
生成线性表,L={2,8,9,7,5,2,6,8,7}为L编写删除重复元素的函数deletevalue() 得到新线性表L={2,8,9,7,5,6}
第二题。生成单链表La={2,4,6,8,10} Lb=1,3,5,7,9} 编写程序SumL()将两链表合并为Lc={1,2,3,4,5,6,7,8,9,10}
#include<stdio.h>
#include<stdlib.h>
#include<iostream.h>
ElemType DeletePosList(struct sNode** HL, int pos)
void DeleteSameList(SeqList *L)
{
int i,j,k;
if(L->size==0)
{
printf("链表为空,不能删除!\n");
exit(1);
}
for(i=0;i<L->size;i++)
for(j=i+1;j<L->size;)
if(L->date[i]==L->date[j])
{
for(k=j+1;k<L->size;k++)
L->date[k-1]=L->date[k];
L->size--;
}
else j++;
}
void Realloc(SeqList *L)
{
int *p=(int *)realloc(L->date,2*L->Maxsize*sizeof(int));
if(!p)
{
printf("内存空间不足!\n");
exit(1);
}
L->date=p;
L->Maxsize=2*L->Maxsize;
}
void InsertLastList(SeqList *L,int item)
{
if(L->size==L->Maxsize)
Realloc(L);
L->date[L->size]=item;
L->size++;
}
void main()
{ int a[10]={2,8,9,7,5,2,6,8,7};
int i;
SeqList L;
InitList(&L,5);
for(i=0;i<10;i++)
InsertLastList(&L,a[i]);
TraverseList(&L);
DeleteSameList(&L);
TraverseList(&L);
}