数据结构课程实践作业
利用单向链表数据结构完成对链表的如下操作:
1、创建一条含整数结点的无序链表
2、链表结点的输出
3、链表结点的升序排序
4、分别计算链表中奇数和偶数结点之和并输出
5、释放链表
具体要求
将程序功能做成菜单,形式如下:
1、创建一条含整数结点的无序链表
2、链表结点的输出
3、链表结点的升序排序
4、分别计算链表中奇数和偶数结点之和并输出
5、释放链表
0、退出
代码
#include <iostream> //头文件
using namespace std;
//节点数据结构定义
struct node
{
int data;
node *next;
};
//创建一条含整数结点的无序链表
node *CreateLinkList()
{
node *p1, *p2, *head;
int n;
p2 = NULL;
head = NULL;
cout << "正在创建一个无序链表\n";
cout << "请输入一个整数,以-1结束:";
cin >> n;
//循环输入一个整数,直到数值为-1结束,创建一条无序链表
while (n != -1)
{
p1 = new node;
p1->data = n;
//采用尾插法,新建一个结点并连接到链表尾部
if (head == 0)
{
head = p1; p2 = p1; //首结点的建立
}
else
{
p2->next = p1; p2 = p1;
}
cout << "请输入一个整数,以-1结束:";
cin >> n;
}
if (head != 0) //尾结点
p2->next = 0;
return(head)