在单向链表中删除偶元素结点
- 格式:doc
- 大小:99.50 KB
- 文档页数:3
实验目的:
1.掌握单向链表的存储特点及其实现。
2.掌握单向链表的插入、删除算法及其应用算法的程序实现。
实验报告(实验内容、实验步骤、实验运行结果分析、实验小结)
实验内容:
在单向链表中删除所有的偶数元素结点。
#include <stdio.h>
#include <stdlib.h>
p->next=NULL;
q=p;
head=p;
printf("请输入线性表L的元素:\n");
for(i=1;i<=n;i++)
{scanf("%d",&x);
p=(link) malloc(sizeof(node));
p->data=x;
p->next=NULL;
q->next=p;
q=p;
}
return(head); //返回头节点指针
{
link p,q;
q=head;
p=head->next;
while(p)
{
if((p->data%2!=0))
{
p=p->next;
q=q->next;
}
else
{q->next=p->next;
p=p->next;
}
}
printf("shanou后的链式表为:\n");
p=head->next;
}
void print(link head) //输出链表
{
printf("线性表L的元素为:\n");
link p;
p=head->next;
while(p)
{printf("%3d",p->data);
p=p->next;
}
printf("\n");
}
void shanou(link head)
while(p)
{printf("%3d",p->data);
p=p->next;
}
printf("\n");
}
void main()
{link head;
int n;
printf("请输入线性表L的长度:\n");
scanf("%d",&n);
head=createlink(n);
print(head);
shanou(head);
}
运行结果:
#define NULL 0
typedef struct node //定义链表元素结构体
{xt;
}node,*link;
link createlink(int n) //建链表
{ int i,x;
link p,q,head;
p=(link)malloc(sizeof(node)); //分配空间