【01】分别使用头插法和尾插法建立单链表
分别使用头插法和尾插法建立单链表
头插法
#include <stdio.h>
#include<stdlib.h>
#include<iostream>
#include<string>
typedef int Status;
typedef int ElemType;
typedef struct Node{ElemType data; //存放元素值struct Node * next;//指针域指向后继结点
}Node;
typedef struct Node * LinkList;
LinkList InitList_List(void);
LinkList CreateListTail(ElemType a[],int n);
LinkList CreateListHead(ElemType a[],int n);
void PrintList_List(LinkList head);LinkList InitList_List(void)
{LinkList head;head=(Node *)malloc(sizeof(Node));if(head==NULL) exit(1);head->next=NULL;return head;
}
LinkList CreateListHead(ElemType a[],int n)
{LinkList head,p;int i;head=InitList_List();for(i=n-1;i>=0;i--){p=(Node *)malloc(sizeof(Node));p->data=a[i];p->next=head->next;head->next=p;}return head;
}
void PrintList_List(LinkList head)
{LinkList p;p=head;while(p->next!=NULL){p=p->next;printf(" %d ",p->data);}}
int main()
{LinkList H_Head;ElemType d[4]={17,24,39,45};H_Head=CreateListHead(d,4);printf("单链表是:\n");PrintList_List(H_Head);printf("\n\n");return 0;
}
结果截图
尾插法
#include <stdio.h>
#include<stdlib.h>
#include<iostream>
#include<string>
typedef int Status;
typedef int ElemType;
typedef struct Node{ElemType data; //存放元素值struct Node *next;//指针域指向后继结点
}Node;
typedef struct Node * LinkList;
LinkList InitList_List(void);
LinkList CreateListTail(ElemType a[],int n);
void PrintList_List(LinkList head);
int main()
{LinkList Tail_Head;ElemType d[4]={17,24,39,45};Tail_Head=CreateListTail(d,4);printf("单链表是:\n");PrintList_List(Tail_Head);printf("\n");return 0;
}
LinkList InitList_List(void)
{LinkList head;head=(Node *)malloc(sizeof(Node));if(head ==NULL) exit(1);head->next=NULL;return head;
}
LinkList CreateListTail(ElemType a[],int n){LinkList head,p,q;int i;head=InitList_List();q=head;for(i=0;i<n;i++){p=(Node *)malloc(sizeof(Node));p->data=a[i];q->next=p;q=p;}p->next=NULL;return head;
}
void PrintList_List(LinkList head)
{LinkList p;p=head;while(p->next!=NULL){p=p->next;printf(" %d ",p->data);}
}
运行结果
看完点个赞!!!
【01】分别使用头插法和尾插法建立单链表相关推荐
- 采用头插法和尾插法建立单链表
面说一下如果用C语言建立单链表,分为头插法和尾插法两种. 采用头插法建立单链表 该方法从一个空表开始,生成新结点,并将读取到的数据存放到新结点的数据域中,然后将新结点插入到当前链表的表头,即头结点之后 ...
- 单链表的建立(C语言):头插法和尾插法建立单链表
采用头插法建立单链表 该方法从一个空表开始,生成新结点,并将读取到的数据存放到新结点的数据域中,然后将新结点插入到当前链表的表头,即头结点之后,如图2-4所示. 图2-4 头插法建立单链表 头插法建 ...
- 用头插法和尾插法建立单链表(带头结点)
尾插法建立单链表 LinkList List_TailInsert(LinkList &L) {int x;L=(LinkList)malloc(sizeof(LNode));LNode *s ...
- 头插法和尾插法建立单链表
在进行单链表的基本运算之前必须先建立单链表,建立单链表的常用方法有两种:头插法建表和尾插法建表 头插法建表,从一个空表开始,读取字符数组a中的字符,生成新节点,将读取的数据存放到新节点的数据域中,然后 ...
- 数据结构—分别用头插法和尾插法建立单链表
#include <iostream> using namespace std; typedef struct LNode{int data;struct LNode *next; }LN ...
- 头插法和尾插法建立单链表详解与实现
写在前面:本文使用C语言和C++引用,学C和C++的同学都是可以看懂的,C++毕竟向下兼容C.很详细,一篇能搞懂代码和原理. 先来了解几个简单概念 单链表就是线性表的链式存储: 头结点:单链表在第一个 ...
- 带头结点的头插法和尾插法创建单链表
首先我们先定义一个链表的结构体. typedef int DataType; typedef struct Node {DataType data;struct Node* next; }*SLNod ...
- 头插法和尾插法创建单链表
首先声明一个单链表结构体. typedef struct LNode {int data;struct LNode * next;}LNode,*LinkNode; 链式存储如何一次性存储足够多的数据 ...
- 头插法和尾插法建立带头节点的单链表
有两种方法建立单链表,尾插法和头插法,他们的区别是:头插法是按照输入元素倒序建立,为尾插法为顺序插入,并且多一个尾节点,我们一般使用尾插法. 一.头插法 代码为: pCurr -> next = ...
- C++头插法尾插法建立单链表,合并两个有序单链表
A和B是两个单链表(带表头结点),其中元素递增有序.设计一个算法,将A和B归 并成一个按元素值非递减有序的链表 C,C由A 和B 中的结点组成. #include<iostream> #i ...
最新文章
- 003 Android之线性布局与基础控件
- Redis 五种数据结构以及三种高级数据结构解析以及使用
- 想学IT的必看!今年Android面试必问的这些技术面,架构师必备技能
- “万物互联”的时代来了!鸿蒙系统OS 2.0重磅发布:“朋友圈”逐渐扩大
- 怎样对php使用systemctl启动,Centos7 配置php-fpm服务到systemctl
- 在Win8.1系统下如何安装运行SQL Server 2005 (以及安装SQL Server 2005 Express打补丁)...
- crontab导致磁盘空间满问题的解决
- 基于jquery实现的web版excel
- PreferenceActivity和PreferenceFragment对比
- .NET 类、网站dll反编译工具
- “杀熟”的数据从哪里来?这些用户数据泄露案例说不定你都听过
- 深度linux15.4安装教程,国产操作系统深度Deepin15.5安装过程体验!
- 混合开发--vue之mand-mobile 框架引入,解决组件巨大问题
- 什么是UEFI启动?
- [ Linux ] 可重入函数,volatile 关键字,SIGCHLD信号
- 2022年康复医学治疗技术高级职称考试题库及答案
- java 播放swf_java文档在线播放实现
- C/C++编译器 GCC 默认 C++ 17
- 我在软通大学的实训总结报告
- 按要求编写一个Java应用程序:(1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。(2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性