#include"LinkList.h"
#include<iostream>
using namespace std;
int main()
{
int r[6] = { 1,5,7,8,5,5 },i,x;
//创建
LinkList<int> L{r, 6};
//输出单链表所有元素
cout << "初始单链表元素为:";
L.PrintList();
cout << endl;
//删除有序单链表中的值相同的多余结点(只保留一个值)
cout << "删除重复元素后:";
L.removeDuplicates();
L.PrintList();
//判空
cout <<endl<< "当前单链表:";
if (L.Empty() == 0) {
cout << "空" << endl;
}else{
cout << "非空" << endl;
}
//求链表长度
cout << "单链表长度为:"<<L.Length()<<endl;
//输出单链表所有元素
cout << "单链表元素为:";
L.PrintList();
cout << endl;
//按序号查找
cout << "请输入查找的元素序号:";
while (1){
cin >> i;
if (i <= L.Length()) {
cout << "元素:" << L.Get(i) << endl;
break;
}else {
cout << "请重新输入:";
}
}
cout << "请输入需要查找序号的元素:";
while (1) {
cin >> x;
int count = 0;
for (int i=0; i < L.Length(); i++) {
if (x == r[i]) {
count++;
cout << "序号:" << L.Locate(x) << endl;
break;
}
}
if (count != 0) {
break;
}
cout << "请重新输入:";
}
//第i个位置插入元素
cout << "请输入需要插入的序号:";
cin >> i;
cout << "请输入需要插入的元素:";
cin >> x;
cout << "插入数据后单链表为:";
L.Insert(i, x);
L.PrintList();
//第i个位置删除元素
cout << endl <<"请输入需要删除的序号:";
cin >> i;
cout << "删除的元素为:" << L.Delete(i) << endl;
cout << "删除数据后单链表为:";
L.PrintList();
//判断单链表是否递增
cout << endl << "是否递增:";
if (L.isIncreasing() == false) {
cout << "否";
}else if(L.isIncreasing() == true){
cout << "是";
}
//原地置逆单链表
cout << endl << "原地置逆后:";
L.Reverse();
L.PrintList();
//判断单链表是否递增
cout << endl << "是否递增:";
if (L.isIncreasing() == false) {
cout << "否";
}
else if (L.isIncreasing() == true) {
cout << "是";
}
//释放
L.~LinkList();
cout << endl << "【已释放单链表存储空间】";
return 0;
}
数据结构与算法实验(C++):单链表实验-代码
需积分: 0 69 浏览量
2024-01-18
19:55:40
上传
评论 1
收藏 2KB ZIP 举报
鸿·蒙
- 粉丝: 628
- 资源: 19
最新资源
- YOLOV4-TINY权重文件
- 以下是一个使用贪心算法解决多机调度问题的基本步骤0.txt
- 基于大数据的房产估价是近年来随着技术的发展而兴起的一种新型估价方法.txt
- 企业供应链管理系统v3.rar
- 富芮坤FR8016HA蓝牙开发板使用手册+硬件PCB图+封装库+DEMO演示软件源代码.zip
- 基于YOLOv7的芯片表面缺陷检测系统
- 京东物流 数字化供应链综合研究报告2018.rar
- 基于YOLOv7的植物虫害识别&防治系统
- 2000.1-2023.8中国经济政策不确定性指数月度数据.xlsx
- Screenshot_2024-04-21-20-42-15-443_com.tencent.mm.jpg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈