链表 List.h

2023-10-27

///
//    //
//   链表     List.h           //
//    //
//


#include"list.h"
#include<iostream.h>
#include<stdlib.h>


template<class type>
void initlist(type &tmp)
{
  list<type> List;
  int n;

  while(true)
  {

  cout<<"请选择你要对链表进行的操作 "<<endl
  <<"1) 在末尾插入数据"<<endl
   <<"2) 在任意处插入数据"<<endl
  <<"3) 删除数据项"<<endl
  <<"4) 删除整个链表"<<endl
  <<"5) 打印链表"<<endl
  <<"6) 查找数据项"<<endl
  <<"7) 退出"<<endl;

  cout<<">/ ";
  cin>>n;

  while(n<1||n>7)
  {
cout<<"输入有误,请从新输入!"<<endl;
   cout<<">/ ";
   cin>>n;
}

switch(n)
{
case 1: list_insertend(List);break;
case 2: list_insert(List);break;
case 3: list_delnode(List);break;
case 4: list_makeempty(List);break;
case 5: list_print(List);break;
case 6: list_find(List);break;
case 7: return ;break;
}

  }

}

void LIST()
{
int n;
  cout<<"请选择你要构造的链表的数据类型 1)整型,2)字符型,3)浮点型"<<endl;   
cout<<">/ ";
cin>>n;

  while(n<1||n>3)
  {
cout<<"输入有误,请从新输入!"<<endl;
   cout<<">/ ";
   cin>>n;
}

char t_c='c';
int t_i=12;
double t_f=23.3;

switch(n)
{
case 1:initlist(t_i);break;
case 2:initlist(t_c);break;
case 3:initlist(t_f);break;
}
}

template<class type>
void list_insertend(list<type> &L)
{
type t;
cout<<"请输入插入数据: >/";
cin>>t;
L.insertend(t);
}

template<class type>
void list_find(list<type> &L)
{
type T;
cout<<"请输入你要查找的数据项:>/ ";
cin>>T;

int i;
if(!(i=L.find(T)))
cout<<"你要查找的数据项不存在!"<<endl;
else
cout<<"你要查找的数据项在第"<<i<<"个位置"<<endl;
}

template<class type>
void list_insert(list<type> &L)
{

type t;
cout<<"请输入插入数据: >/";
cin>>t;

int n;
cout<<"请输入插入位置: >/";
cin>>n;
if(L.insert(t,n))
cout<<"插入成功! 在"<<n<<"位置 插入"<<t<<endl;
else
cout<<"插入失败! 插入位置不正确!"<<endl;

}

template<class type>
void list_delnode(list<type>& L)
{
int i;
  cout<<"请输入要删除数据项的位置: >/";
cin>>i;


while(i<1||i>L.getlen())
{
    cout<<"输入有误,可能大与链表长度,请从新输入!"<<endl;
    cout<<">/ ";
  cin>>i;
}

L.delnode(i);
}
template<class type>
void list_makeempty(list<type> &L)
{
L.makeempty();
}

template<class type>
void list_print(list<type> &L)
{
if(!L.print())
cout<<"链表为空!"<<endl;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

链表 List.h 的相关文章

随机推荐

  • java设计模式——解释器模式(Interpreter Pattern)

    概述 解释器模式是一种使用频率相对较低但学习难度较大的设计模式 它用于描述如何使用面向对象语言构成一个简单的语言解释器 在某些情况下 为了更好地描述某一些特定类型的问题 我们可以创建一种新的语言 这种语言拥有自己的表达式和结构 即文法规则
  • mac安装python3.6

    1 查看本机默认安装环境 通过uname a 查看系统位数 x86 64代表64位 使用python命令查看系统默认版本 OSX默认安装2 7 10 系统很多lib都是基于python2 7 因此还是不要卸载 2 下载python3 6 h
  • [255]如何查找Linux服务器上JDK安装路径?

    成功远程到你要部署软件的Linux服务器上 这是第一步 查看JDK版本 java version 查看java执行路径 which java 查看JAVA HOME路径 echo JAVA HOME 插卡PATH内容 echo PATH 想
  • java实现电子发票中的发票税号等信息识别的几种可用方案

    先说一下背景 今天领导突然说需要做一个电子发票中发票税号的识别 于是乎就开始去调研看有哪些方案 最先想到的就是OCR文字识别 自己去画框训练模型去识别税号等相关信息 话不多说开整思路 思路一 百度AI平台去直接调用 思路二 自己基于模型训练
  • Ubuntu /Window下 X2Go 安装&连接&同步/上传文件夹:复制、粘贴、桌面共享

    Ubuntu Window下X2Go安装 连接 同步 上传文件夹 一次性成功 X2Go 的优点 双向粘贴板 安装 就可使用 文件夹共享 在某些 linux发行版上 由于依赖包问题 解决起来麻烦 在 错误新题提示 在服务器端 为隐藏文件 在客
  • C语言中,变量的按作用域角度分类的几种情况

    c语言中 变量按作用域角度分 分为局部变量和全局变量 1 局部变量是在一个函数内部或一个代码块中定义的变量 只能在被函数和代码块范围内有效 如 void test int b 20 b是一个局部变量 在test函数内有效 int main
  • OSPF实验报告

    一 划分网段 将192 168 1 0 24划分为 192 168 1 0 26 192 168 1 128 26 192 168 1 64 26 192 168 1 192 26 二 添加ip地址 将192 168 1 0 26划分为网络
  • 蓝桥杯 调手表【第九届】【决赛】【B组】

    比较简单的题 看到网上题解基本都是bfs解法 发个贪心解法记录一下 include
  • VSCode格式化XML

    VSCode格式化XML 文章目录 VSCode格式化XML 1 结果展示 2 插件 notepad 自带的xml插件不是很好用 显示xml树的插件经常失灵 尝试在VSCode上找到了一些插件 很好的解决了XML的格式化和XML节点显示的问
  • 【华为OD机试真题 Python】数组二叉树

    前言 本专栏将持续更新华为OD机试题目 并进行详细的分析与解答 包含完整的代码实现 希望可以帮助到正在努力的你 关于OD机试流程 面经 面试指导等 如有任何疑问 欢迎联系我 wechat steven moda email nansun09
  • HashMap底层原理分析(结合面试问题分析)

    1 为什么HashMap底层数组的容量总是2的幂次方 答 因为hashmap的底层在计算一个entry存放在数组中的索引值的时候 采用哈希值运算 如果经过哈希算法得到的一个哈希值h的后面的二进制表示为 0101 0101 此时的数组的长度l
  • 软件构造总结笔记

    软件构造总结笔记 本笔记依据考试大纲 调整课堂讲义的分点 以知识点分化作为条理 精简原本人课堂笔记 进行总结 GitHub仓库资源 gzn00417 2020Spring Software Construction 文章目录 软件构造总结笔
  • 记一次某src得子域名接管漏洞挖掘

    如下案例是fofa找的 在火线资产里直接搜索关键词html noSuchbucket 可以看到显示如下信息
  • 无损剪切音视频文件的跨平台工具: LosslessCut

    mifi lossless cut Stars 17 3k License GPL 2 0 LosslessCut是一款跨平台的FFmpeg GUI工具 它可以对视频 音频和字幕等相关媒体文件进行快速无损操作 该软件最主要的功能是无损剪切和
  • 初识网络原理

    确定不来看看新出炉的知识 目录 1 网络互连 1 1局域网 1 2广域网 2 网络通信基础 2 1IP地址 2 2端口号 3 认识协议 3 1五元组 3 2协议分层 3 3OSI 7层模型 3 4TCP IP5层 或5层 模型 3 5网络设
  • 请求参数默认值多种实现方式

    文章目录 1 直接赋值 2 使用切面实现默认值 自定义注解 切面类 控制层使用 效果展示 3 使用过滤器Filter实现 自定义请求体 自定义过滤器 1 直接赋值 当前页码 private int pageNum 1 每页条数 privat
  • idea快速清理无效类文件

    1 右击选中的项目 如下图所示 2 在弹出框中输入 unused declaration点击选择 如下图所示 3 弹出如下图所示 点击ok 此时需要一段时间 4 结果如下图所示 5 此时 一个个选中 然后双击 有4种处理模式 如下图所示 S
  • 基于Distflow的最优潮流模型(OPF)--模型推导篇

    开篇 前言 自打上期内容火电机组经济调度建模及求解 基础篇推出以后 有小伙伴留言 不考虑潮流问题的经济调度都是耍流氓 作为一个有文化的流氓 我们尝试着为大家科普潮流计算 对于电力系统而言 潮流计算是一个非常复杂且重要内容 如果我们推文中有什
  • 俞敏洪:与其有钱,不如值钱

    很多人一辈子有两个追求 一个是有钱 一个是值钱 有的人运气好 出生在富贵之家 一出生就像贾宝玉一样嘴里含着玉 有钱就不是问题 但有钱解决不了第二个问题 也就是你本人值不值钱的问题 值钱是个人价值的体现 比如你去找一份工作 人家给你开出百万年
  • 链表 List.h

    链表 List h include list h include