《数据结构》实验三报告13网二吴睿
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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->info
}
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;
}
}
}