结构算法 002 单链表的头插法和尾插法
来源:互联网 发布:勒夏特列原理 知乎 编辑:程序博客网 时间:2024/06/08 03:08
单链表的头插法和尾插法
学习的时候自己拿张白纸画图,学的很快
实在不行看视频,严蔚敏的(视频昏黄,感觉很难受,但是很经典。慕课上也有)
建立单链表的方法
- 头插法
- 尾插法
废话少说看代码
#include <iostream>using namespace std;typedef int elemtype;typedef struct LNode{ elemtype data; LNode *next;}LNode,*LinkList;//头插法,代码简单,但是输入顺序和链表顺序相反。。LNode * CreListHead() //表示函数最后返回指针{ LNode *head,*s; head=new LNode; head->next=NULL; int x=0; cin>>x; while(x!=999) { s=new LNode; s->data=x; s->next=head->next; head->next=s; cin>>x; } return head;}LinkList CreListTail() //表示函数最后返回指针{ //head表示头结点指针,s表示建立新节点的指针,r始终表示队尾指针 LinkList head,s,r; //等价于 LNode * head,*s,*r ; head=new LNode; head->data=1111; head->next=NULL; r=head; int x=0; cin>>x; while (x!=999) { s=new LNode; s->data=x; r->next=s->next; //意思是把原来队尾节点的指针域(空指针NULL)赋给新队尾节点的指针域。 r->next=s; r=s; cin>>x; } return head;}int HeadInsertDemo(){ //下面是头插法的效果演示 LNode *p=CreListHead(); cout<<"因为使用头插法,所以依次输入1、2、3,链表顺序从左到右是3、2、1"<<endl; //因为使用头插法,所以依次输入1、2、3,链表顺序从左到右是3、2、1 cout<<p->data<<endl; //头结点没有赋值,所以是一个随机数 cout<<p->next->data<<endl; //节点的第一个元素,也就是你输入的 最后 一个元素 cout<<p->next->next->data<<endl; //节点的第二个元素,也就是你输入的 倒数 第二个元素}int TailInsertDemo(){ //下面是尾插法的效果演示 LinkList p=CreListTail(); cout<<"**********"<<endl; cout<<p->data<<endl; //头结点我给了它一个值”1111“,所以返回值是1111 cout<<"**********"<<endl; cout<<"The first node is "<<p->next->data<<endl; //理论上是你输入的第一个元素 cout<<"The second node is "<<p->next->next->data<<endl; //理论上是你输入的第二个元素}int main(){ HeadInsertDemo(); cout<<"======================"<<endl; TailInsertDemo();}
阅读全文
0 0
- 结构算法 002 单链表的头插法和尾插法
- 结构上的算法----栈和队列
- 结构算法 003 单链表的查找算法
- 【算法结构】一些经典的算法和数据结构的问题
- 数据结构和算法(1)数据结构的逻辑结构和物理结构
- C语言 二叉树的结构和遍历算法
- 人类思维的逻辑结构和算法实现
- 生成目录结构算法的bash, perl和python实现
- 【数据结构】图结构的创建和遍历算法
- 图的结构建立和最短路径算法
- 树的存储结构 – 数据结构和算法41
- 树的存储结构2 – 数据结构和算法42
- 二叉树的存储结构 – 数据结构和算法45
- 《数据结构和算法》之栈的链式存储结构
- 《数据结构和算法》之队列的顺序存储结构
- 数据结构-二叉树的存储结构和遍历算法(四)
- 什么是数据 结构和算法?
- 【算法和数据结构】_5_线性结构_单链表
- 病毒、木马、蠕虫与恶意代码关键点
- TCP定时器讲解与TCP三次握手四次挥手
- 《java并发编程实战》笔记(第10章)
- KMP--找子串
- EffectiveC++学习笔记-条款32|33
- 结构算法 002 单链表的头插法和尾插法
- webView之post请求携带请求头及打印日志等剖析
- 前端经典面试题1
- python 字典
- 我的C程序设计语言学习日记#03
- 一维数组、二维数组、字符串总结
- JTable使用实例
- java自带工具生成Webservice客户端代码(UTF-8编码格式)
- VS中webservice添加web引用