分别使用头插法和尾插法建立单链表

头插法

#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】分别使用头插法和尾插法建立单链表相关推荐

  1. 采用头插法和尾插法建立单链表

    面说一下如果用C语言建立单链表,分为头插法和尾插法两种. 采用头插法建立单链表 该方法从一个空表开始,生成新结点,并将读取到的数据存放到新结点的数据域中,然后将新结点插入到当前链表的表头,即头结点之后 ...

  2. 单链表的建立(C语言):头插法和尾插法建立单链表

    采用头插法建立单链表 该方法从一个空表开始,生成新结点,并将读取到的数据存放到新结点的数据域中,然后将新结点插入到当前链表的表头,即头结点之后,如图2-4所示. 图2-4  头插法建立单链表 头插法建 ...

  3. 用头插法和尾插法建立单链表(带头结点)

    尾插法建立单链表 LinkList List_TailInsert(LinkList &L) {int x;L=(LinkList)malloc(sizeof(LNode));LNode *s ...

  4. 头插法和尾插法建立单链表

    在进行单链表的基本运算之前必须先建立单链表,建立单链表的常用方法有两种:头插法建表和尾插法建表 头插法建表,从一个空表开始,读取字符数组a中的字符,生成新节点,将读取的数据存放到新节点的数据域中,然后 ...

  5. 数据结构—分别用头插法和尾插法建立单链表

    #include <iostream> using namespace std; typedef struct LNode{int data;struct LNode *next; }LN ...

  6. 头插法和尾插法建立单链表详解与实现

    写在前面:本文使用C语言和C++引用,学C和C++的同学都是可以看懂的,C++毕竟向下兼容C.很详细,一篇能搞懂代码和原理. 先来了解几个简单概念 单链表就是线性表的链式存储: 头结点:单链表在第一个 ...

  7. 带头结点的头插法和尾插法创建单链表

    首先我们先定义一个链表的结构体. typedef int DataType; typedef struct Node {DataType data;struct Node* next; }*SLNod ...

  8. 头插法和尾插法创建单链表

    首先声明一个单链表结构体. typedef struct LNode {int data;struct LNode * next;}LNode,*LinkNode; 链式存储如何一次性存储足够多的数据 ...

  9. 头插法和尾插法建立带头节点的单链表

    有两种方法建立单链表,尾插法和头插法,他们的区别是:头插法是按照输入元素倒序建立,为尾插法为顺序插入,并且多一个尾节点,我们一般使用尾插法. 一.头插法 代码为: pCurr -> next = ...

  10. C++头插法尾插法建立单链表,合并两个有序单链表

    A和B是两个单链表(带表头结点),其中元素递增有序.设计一个算法,将A和B归 并成一个按元素值非递减有序的链表 C,C由A 和B 中的结点组成. #include<iostream> #i ...

最新文章

  1. 003 Android之线性布局与基础控件
  2. Redis 五种数据结构以及三种高级数据结构解析以及使用
  3. 想学IT的必看!今年Android面试必问的这些技术面,架构师必备技能
  4. “万物互联”的时代来了!鸿蒙系统OS 2.0重磅发布:“朋友圈”逐渐扩大
  5. 怎样对php使用systemctl启动,Centos7 配置php-fpm服务到systemctl
  6. 在Win8.1系统下如何安装运行SQL Server 2005 (以及安装SQL Server 2005 Express打补丁)...
  7. crontab导致磁盘空间满问题的解决
  8. 基于jquery实现的web版excel
  9. PreferenceActivity和PreferenceFragment对比
  10. .NET 类、网站dll反编译工具
  11. “杀熟”的数据从哪里来?这些用户数据泄露案例说不定你都听过
  12. 深度linux15.4安装教程,国产操作系统深度Deepin15.5安装过程体验!
  13. 混合开发--vue之mand-mobile 框架引入,解决组件巨大问题
  14. 什么是UEFI启动?
  15. [ Linux ] 可重入函数,volatile 关键字,SIGCHLD信号
  16. 2022年康复医学治疗技术高级职称考试题库及答案
  17. java 播放swf_java文档在线播放实现
  18. C/C++编译器 GCC 默认 C++ 17
  19. 我在软通大学的实训总结报告
  20. 按要求编写一个Java应用程序:(1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。(2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性

热门文章

  1. Windows系统重装Linux系统
  2. 产品沉思录精选:如何像管理金融投资组合一样来管理知识?
  3. 7-5 约分最简分式
  4. ubuntu永久修改mac地址
  5. 基于容器的虚拟化资源调度系统的架构设计
  6. 物联网期末大作业—睡眠质量检测系统(精修版)
  7. GNSS《GPS测量原理及应用》复习题集
  8. C#的get和set用法
  9. java正则表达式逗号_java – 接受逗号或分号分隔值的正则表达式模式
  10. autocad.net 画多段线_AutoCAD2016快速入门:绘制多段线