博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构 链表的创建,求链表的长度,插入元素等操作代码展示
阅读量:3905 次
发布时间:2019-05-23

本文共 1537 字,大约阅读时间需要 5 分钟。

 今上午老师布置的作业,很不情愿的写了个单链表。。。发现长时间不写确实很难一步写对,调试了20分钟,可算是写完了,

感觉应该是对了,测了几组数据没啥问题.....

代码如下:

#include 
#include
#include
#include
#include
using namespace std;//链表数据类型struct List{ int data; List * next;};//链表初始化List* init(){ return NULL;}//链表的创建List* Create (List* L){ if(L) { printf("链表未初始化\n"); return NULL; } L=(List*)malloc(sizeof(List)); L->next=NULL; printf("请输入链表长度: "); int len; List* p=L; scanf("%d",&len); printf("请按递增的顺序输入元素\n"); for (int i=0;i
data=data; New->next=NULL; p->next=New; p=New; } return L;}//求链表的长度void List_Len (List* L){ if(L==NULL) { printf("链表未创建\n"); return; } int len=0; List* p=L->next; while (p) { p=p->next; len++; } printf("链表的长度为%d\n",len);}//遍历单链表void Traverse (List* L){ if(L==NULL) { printf("链表未创建\n"); return; } List* p=L->next; printf("链表元素如下:\n"); while (p) { printf("%d%c",p->data,p->next==NULL?'\n':' '); p=p->next; }}//插入元素bool Insert (List* L){ if(L==NULL) { printf("链表还未创建\n"); return false; } printf("请输入想要插入的元素: "); int Data; scanf("%d",&Data); List* p=L; while (p->next&&p->next->data
next; } List* New=(List*)malloc(sizeof(List)); New->data=Data; New->next=p->next; p->next=New; return true;}int main(){ List* Head; Head=init(); Head=Create(Head); Traverse(Head); List_Len(Head); if(Insert(Head)) printf("插入成功\n"); else printf("插入失败\n"); Traverse(Head); List_Len(Head); return 0;}/*运行结果如下:请输入链表长度: 3请按递增的顺序输入元素1 2 3链表元素如下:1 2 3链表的长度为3请输入想要插入的元素: 4插入成功链表元素如下:1 2 3 4链表的长度为4*/

 

转载地址:http://daaen.baihongyu.com/

你可能感兴趣的文章
78. 子集
查看>>
89. 格雷编码
查看>>
刚开始学python,对脚本语言的一些理解
查看>>
matplotlib进行绘图——散点图
查看>>
matplotlib进行绘图——直方图
查看>>
需求文件requirements.txt的创建及使用
查看>>
300. 最长上升子序列
查看>>
445. 两数相加 II
查看>>
449. 序列化和反序列化二叉搜索树
查看>>
450. 删除二叉搜索树中的节点
查看>>
451. 根据字符出现频率排序
查看>>
454. 四数相加 II
查看>>
467. 环绕字符串中唯一的子字符串
查看>>
468. 验证IP地址
查看>>
474. 一和零
查看>>
486. 预测赢家
查看>>
494. 目标和
查看>>
520. 检测大写字母
查看>>
数据处理和训练模型的技巧
查看>>
vb 中如何做同步 异步?
查看>>