单链表(带头结点)的创建
题目描述
1.问题描述
给出初始数据,实现单链表的定义、创建、输出。
2.算法
单链表结点的存储结构包含两部分:数据、下一结点指针。
单链表的创建:输入n个数据e,若数据e不在单链表中,为数据e分配结点,并插入在单链表的尾部;若单链表中已有数据e,则不做任何操作。
单链表的输出:从头至尾遍历单链表,输出每个结点的元素值。
注:程序不可定义任何数组,否则不计成绩。
要求:查找定义子函数:int Find(Node *H,int e) //找到e返回1,找不到返回0。其中Node为链表结点结构体名,H为链表头指针。
输入
第一行:测试次数t
对每组测试数据,格式如下:
数据个数n 数据1 数据2 数据3 ... 数据n
输出
对每组测试数据,输出链表中元素个数和单链表中的全部数据。
样例输入
样例输出
代码实现:如下
//
// Created by HP on 2018/3/9.
//
#include <iostream>
using namespace std;
struct node{int num;node *next;
};
int c;
int find(node *head,int key)
{node *finder=head->next;while(finder!=NULL){if(finder->num==key)//如果想要插入的数据已经在链表中return 1;finder=finder->next;}return 0;
}
void CreateList(node *head)
{node *tail=head;int data;int n,i;cin>>n;for(i=0;i<n;i++){cin>>data;if(find(head,data)==0){node *s=new node;//创建新的节点s->num=data;s->next=NULL;tail->next=s;//将新结点插入链表中tail=s;c++;}}
}
void ShowList(node *head)
{cout<<c<<" ";node *display=head->next;while(display){c--;cout<<display->num<<" ";display=display->next;}cout<<endl;
}
int main()
{int t;cin>>t;while(t--){c=0;node *head=new node;head->next=NULL;CreateList(head);//创建ShowList(head);//输出}return 0;
}
单链表(带头结点)的创建相关推荐
- 单链表———带头结点跟不带头结点的区别
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.单链表:带头结点跟不带头结点 二.使用步骤 总结 前言 数据结构中单链表的创建 带头结点跟不带头结点的区别 一.单 ...
- *循环单链表[带头结点]
结构(带头结点) 初始化 创建(n个结点) 插入 删除 遍历 销毁 结构: 判空:(head->next==head) 初始化:主要注意链表为空的条件,执行语句:L->next=L; vo ...
- 数据结构:单链表——带头结点与不带头结点步骤详解
单链表:带头结点与不带头结点详解 在本人的另一篇文章中,通过java实现了带头结点和不带头结点的单链表,有兴趣的小伙伴可以去看下数据结构(一):链表(Linked List) 这两天回顾下链表的知识, ...
- C语言单链表实现初始化、创建、增、删、查等基本操作(详细)
C语言单链表实现初始化.创建.增.删.查等基本操作 #include <stdio.h> #include <stdlib.h> #include <malloc.h&g ...
- 写一个函数DeleteRange删除单链表中结点的值在low 和high之间的结点
/*实验2 1. 写一个函数DeleteRange删除单链表中结点的值在low 和high之间的结点 (low和high的值是多少可自由设计).并且要在程序中验证其功能实现. (可在实验1的第3题的基 ...
- 狸猫换太子--删除无头单链表中结点
狸猫换太子–删除无头单链表中结点 @(算法学习) 学习自<编程之美>. 很有意思的一种做法. 给定一个没有头指针的单链表,一个指针指向次单链表中的一个中间结点,删除此结点. 分析:这种根本 ...
- 已知一个带有表头的单链表,结点结构为data-link,假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。
今天和大家分享一道2009年代码为408的一道真题: 已知一个带有表头的单链表,结点结构为data-link,假设该链表只给出了头指针list.在不改变链表的前提下,请设计一个尽可能高效的算法,查找链 ...
- 数据结构c/c++ 头插法尾插法建立带头结点的单链表,以数组创建带头结点的单链表和不带头结点的单链表,输出打印单链表
// // Created by 焦娇 on 2021/9/17. //#ifndef CHAPTER2_LINELINK_LLK_H #define CHAPTER2_LINELINK_LLK_H# ...
- 单链表的整表创建(头结点版)
*****参照<大话数据结构>整理***** 一.基本要素概念明析 1.指针 指针也就是内存地址 ,指针变量是用来存放内存地址的变量(按照百度定义,进行下面的介绍) 2.结构体 结构体是C ...
- 学习笔记——C语言实现单链表的基本操作:创建、输出、插入结点、删除结点、逆序链表
*************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com ****** ...
最新文章
- caj文件打不开显示内存不足_caj打开文件内存不足 cad内存不足一键修复
- 科达南沙电子警察“扩编”
- 虚拟主机和托盘服务器,虚拟主机和托盘服务器
- 进程kswapd0与events/0消耗大量CPU的问题
- linux共享内存示例,linux 进程间共享内存示例
- JEECG 3.7 新装亮相,移动APP发布
- CDN行业“三足鼎立”格局已定,谁能代表未来?
- c# 对象json互相转换_Go语言进阶之路(六):内置JSON库和开源库gjson
- 4.1线程组(Thread Group)
- 正在搜索需要的文件_搜索电脑文件,只需要0.01s
- 什么是模型?什么是数学模型?
- html新建文件夹,javascript实现新建文件夹的功能
- deepin linux连接不上网络,把Deepin升级到15.8桌面版后无线上不了网的解决方法
- 权力的游戏字幕哪家强_使用权力游戏字幕
- 阿里云服务器ECS实例规格性能区别及选择攻略
- Win32编程基础知识
- SAP-SD-国家调整增值税,sap如何同步调整
- 机器学习实战_朴素贝叶斯分类器_预测疾病
- 百度地图MarkerClusterer点过多时卡顿问题
- [编程基础] Python谷歌翻译库googletrans总结