C语言实现由输入的数据来创建链表。

插入部分分为头部插入和尾部插入。

取消掉对应的注释就行。

注意:#define N 10的N一般根据题目要求取最大值+1.保证能够输入所有数。

点击这里,了解更多算法与通信专业知识


#include<stdio.h>
using namespace std;#define N 10
typedef struct Node
{int data;struct Node *next;
} myNode;myNode *createNode(int *a, int n) {myNode *head, *rear, *p;int i;/********前插法**********/head = rear = NULL;//创建头结点和尾结点 最开始都指向同一点for (i = 0; i < n; i++) {//前插法(在链表头插入)p = (myNode *)malloc(sizeof(myNode*));p->data = a[i];p->next = rear;rear = p;}return head = rear;//在头部插入 返回时需要更新头结点/********后插法**********///因为这里使用了rear->next 所以在用之前分配内存//rear = (myNode*)malloc(sizeof(myNode));//rear->next = NULL;//head = rear;          //记录头结点//for(i = 0; i < n; i++){//后插法(在链表尾部插入)//  p = (myNode *)malloc(sizeof(myNode *));//  p->data = a[i];//   p->next = NULL;//因为p是尾结点 所以需要让p指向null// rear->next = p;//因为这里使用了rear->next 所以在用之前分配内存//  rear = p;//}//return head->next;//尾部插入 数据是从next开始的}int main()
{   int a[N];int i,j, m;for (i = 0; i < N; i++) {//scanf_s("%d", &m);//在VS里scanf用scanf_s//char c = getchar();//a[i] = m;//if (c == '\n') break;//需要先得到c 然后将m放进去了再break 否则会丢掉最后一个数scanf_s("%d", &a[i]);      //在VS里scanf用scanf_sif (getchar() == '\n') break;//也可以这样写 直接将数放到数组里}int n;scanf_s("%d", &n);int k;myNode *ans;ans = createNode(a, n);while (ans) {printf("%d\n", ans->data);ans = ans->next;}system("pause");return 0;
}

C语言实现前部插入创建链表以及尾部插入链表相关推荐

  1. 单向链表—在单向链表的尾部插入一个元素

    在单向链表的尾部插入一个元素 博主微信公众号(左).Python+智能大数据+AI学习交流群(右):欢迎关注和加群,大家一起学习交流,共同进步! 一.题目 在单向链表 L 尾部插入一个元素. 注意,在 ...

  2. python 单链表添加节点_黄哥Python:单链表的尾部插入方法

    单链表的尾部插入方法: 1.先判断头结点是不是为None 2.设置一个当前结点node,循环下一个结点,当node.next 为None 时,就到尾部,也就是找到插入点了. 请看下面Python 代码 ...

  3. C语言丨线性表(二):线性链表(单链表)

    线性表是由数据类型相同的个数据元素组成的有限序列,通常记为: 其中n为表长,n=0时称为空表:下标i表示数据元素的位序. 线性表的特点是组成它的数据元素之间是一种线性关系,即数据元素"一个接 ...

  4. 单向链表—在单向链表的头部插入一个元素

    在单向链表的头部插入一个元素 博主微信公众号(左).Python+智能大数据+AI学习交流群(右):欢迎关注和加群,大家一起学习交流,共同进步! 一.题目 在单向链表 L 头部插入一个元素. 注意,要 ...

  5. C语言实用算法系列之学生管理系统_单向链表外排序_堆内数组存储链表节点指针

    代码 #define _CRT_SECURE_NO_WARNINGS#include <stdio.h> #include <string.h> #include <st ...

  6. C语言实用算法系列之学生管理系统_单向链表外排序_栈内数组存储链表节点指针

    代码 #define _CRT_SECURE_NO_WARNINGS#include <stdio.h> #include <string.h> #include <st ...

  7. C语言实用算法系列之学生管理系统_单向链表内操作_选择排序

    单向链表实现 #include <stdio.h> #include <malloc.h>typedef int DATA;struct SNode {DATA data;SN ...

  8. C语言实用算法系列之学生管理系统_单向链表内操作_提取排序规则

    代码 后续文章的排序均采用速度较快的选择排序算法. #define _CRT_SECURE_NO_WARNINGS#include <stdio.h> #include <strin ...

  9. (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作

    http://blog.csdn.net/fisherwan/article/details/19760681 上午写了下单向循环链表的程序,今天下午我把双向链表的程序写完了.其实双向链表和单向链表也 ...

最新文章

  1. Ant Design Pro 组件事件绑定 Input onChange
  2. linux 查看端口被哪个程序占用
  3. DL之CNN优化技术:学习卷积神经网络CNN的优化、实践经验(练习调参)、从代码深刻认知CNN架构之练习技巧
  4. 正式开放 | 阿里云 10 亿级镜像服务正式支持 Helm Charts,云原生交付再加速!
  5. 调整分区个数_在重装系统的过程中,硬盘如何分区呢?
  6. sql 问号的使用 php_PHP中bindParam和bindValue的区别
  7. 【学习笔记】数据链路层——流量控制:停止等待协议、后退N帧协议(GBN)、选择重传协议(SR)
  8. Qt的槽可以使用默认参数
  9. markdown 图片居中_Markdown入门指南【我为什么要推荐你学习Markdown?】
  10. 蓝桥杯 ALGO-4 算法训练 结点选择
  11. 1026. 节点与其祖先之间的最大差值
  12. mysql 5.7.9 winx64_Windows 7 安装配置 mysql-5.7.17-winx64 方法-Fun言
  13. 2022最新Android项目导入过程(以Android studio2021.2.1为例)
  14. 关于聚光灯各种衰减系数的尝试体会聚光灯的效果
  15. [异能程序员]第二章 上头条(第二更)
  16. 读书笔记-计算机视觉
  17. 可正常访问的 高校2.5D 地图
  18. python怎么定义一个整数_python整数实现
  19. 2023安徽大学计算机考研信息汇总
  20. C/C++ opencv 计算 LBP特征 包括旋转不变 uniform 圆形邻域

热门文章

  1. 【转】unity3d优化总结篇
  2. 真实感水面绘制-资料收集
  3. 进入postgresql
  4. Unity引擎与C#脚本简介
  5. if else和switch的效率
  6. 品尝阿里云容器服务:5个2核4G节点使用情况记载
  7. Console.js:彩蛋和作弊码
  8. C++内联函数的学习
  9. 查询shared_pool主要部分的使用率
  10. 最好js代码验证×××号码