黄泓彬

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

#1、代码1简介:顺序表删除重复元素

##1.1、代码1:

void CreateSqList(List &L,int a[],int n)
{
int i;	
L=new SqList;
L->length=n;
for(i=0;i<n;i++)
{
L->data[i]=a[i];
}
}
void DispSqList(List L)
{
int i,j;
j=L->length;
for(i=0;i<j;i++)
{
if(i==j-1)
{
cout<<L->data[i]; 
}
else
cout<<L->data[i]<<" ";
}
}

void DelSameNode(List &L) 
{
int i,j,k;
for(i=0;i<L->length;i++)
{
for(j=i+1;j<L->length;j++)
{
if(L->data[i]==L->data[j])
{
for(k=j;k<L->length-1;k++)
{
L->data[k]=L->data[k+1]; 
} 
L->length-=1;
}
}
}
if(L->length==2)
{
if(L->data[0]==L->data[1])
{
L->length--;
}
}

}

  

##1.2、不懂得的地方:void DelSameNode(List &L) 函数的for循环兼顾找出需要删除的元素和删除的遍历重新排序,在写的过程中遇到段错误(L->length溢出)

#2.代码2简介:尾插法建链表 (15 分)

##2.1、代码2:

void CreateListR(LinkList &L, int n)
{
L=new LNode;
L->next=NULL;

int i;
LinkList p,q;

if(L->next=NULL)
{
cout<<"空链表!"<<endl;
return;
}

q=L;
for(i=0;i<n;i++)
{
p=new LNode;
p->next=NULL;

cin>>p->data;

q->next=p;
q=p;

}
}

  

##2.2、不懂得的地方:建立指向插入元素的新指针和指向链表的指针的关系

 

posted on 2019-03-25 19:29  黄泓彬  阅读(134)  评论(0编辑  收藏  举报