《数据结构》实验三报告13网二吴睿

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

江西师范大学计算机信息工程学院学生实验报告

专业_网络工程2班姓名_吴睿_ 学号1308093095 日期__2014.10.30

3、实验步骤

在visual C++ 6.0中进行编程,调试,完成实验。

4、程序及运行结果(或实验数据记录及分析)

实验1:

linklist delx(linklist head,datatype x)

{

linklist p=head->next,pre=head,q;

int i=0;

while(p!=NULL&&i==0){

if(p->info==x){

q=p;

p=p->next;

pre->next=p;

free(q);

i=1;

}else{

pre=p;

p=p->next;

i=0;

}

}

return head;

}

linklist reverse(linklist head) {

linklist p,q;

p=head->next;

head->next=NULL;

while(p!=NULL){

q=p->next;

p->next=head->next;

head->next=p;

p=q;

}

return head;

}

linklist insert(linklist head ,datatype x) {

linklist p,q;

q=head;

p=(linklist)malloc(sizeof(node));

p->info=x;

while(q->next->infonext!=NULL){ q=q->next;

}

p->next=q->next;

q->next=p;

return head;

}

linklist delallx(linklist head,int x) {

linklist p=head->next,pre=head,q;

while(p!=NULL){

if(p->info==x){

q=p;

p=p->next;

pre->next=p;

free(q);

}else{

pre=p;

p=p->next;

}

}

return head;

}

{

linklist head,tmp=NULL;

linklist head1=L1,head2=L2;

head=(linklist)malloc(sizeof(node));

head->next=NULL;

if (L1->next->info>L2->next->info)//哪个链表第一个节点值小,则把它的头指针作为合并后的头指针

{

head1 = L2;

head2 = L1;

}

head->next=head1->next;

while (head2!= NULL)

{

while ( (head1->next->info < head2->info) && head1->next!=NULL) {

head1 = head1->next;

}

tmp = head2;

head2 = head2->next;

tmp->next = head1->next;

head1->next = tmp;

}

return head;

}

{

linklist p1,p2,p3,L3,r;

L3=r=(linklist)malloc(sizeof(node));

L3->next=NULL;

p1=L1->next;

while(p1!=NULL)

{ p2=L2->next;

while((p2!=NULL)&&(p2->info!=p1->info)) p2=p2->next;

if((p2!=NULL)&&(p2->info==p1->info)) { p3=(linklist)malloc(sizeof(node));

//L3=L3->next;

p3->info=p1->info;

r->next=p3;

r=p3;

}

p1=p1->next;

}

// print(L3);

r->next=NULL;

return L3;

}

void partion(linklist head) {

linklist p,s,pre;

pre=head;

p=head->next;

while(p)

{

if(p->info%2==0)

{

pre=p;

p=p->next;

}

else

{

s=p;

pre->next=p->next;

p=pre->next;

s->next=NULL;

s->next=head->next;

head->next=s;

}

}

}

相关文档
最新文档