请根据用户的输入创建一个线性表,以0作为结尾。 以链式结构(链表)的方式去保存线性表中的数据。

定义结构体

#include <stdio.h>//printf
#include <stdlib.h>//malloc
#include <string.h>//strlentypedef int Elemtype; //数据元素的类型
//定义数据节点
typedef  struct node
{Elemtype data;  //数据域:保存数据本身用的struct node *next; //指针域:用来保存关系用的,保存下一个数据节点的地址}Node;
/*Create_Linklist:从终端上获取用户的输入并将其保存到一条单链表中@return    : 返回创建好单链表的首节点的地址
*/
Node *Create_Linklist()
{int n;Node *head = NULL;Node *tail = NULL;while (1){scanf("%d",&n);if (n == 0)break;Node *pnew = (Node *)malloc(sizeof(Node));pnew->data = n;pnew->next = NULL;if(tail == NULL){head = tail = pnew;}else{tail->next = pnew;tail = pnew;}}return head;
}
/*Print_Lisklist:将一条单链表打印出来@list    : 要打印的链表
*/
void Print_Linklist(Node *list)
{Node *p = list;while(p){printf("%d ",p->data);p = p->next;}putchar('\n');
}

//请根据用户的输入创建一个线性表,以0作为结尾。//以链式结构(链表)的方式去保存线性表中的数据。
int main()
{Node *list = Create_Linklist();//list指向创建出来的单链表的首节点Print_Linklist(list);return 0;
}
**运行结果**

C(每日一题)——数据结构——创建一个线性链表(详细过程)相关推荐

  1. 每日一题:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

    每日一题:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序. 2020年11月19日,力扣,简单,移动零 一.题目描述 给定一个数组 nums,编写一个函数 ...

  2. 90页第三题,创建一个 Rectangle类,添加width和lenght两个成员变量 在 Rectangle类中添加两种方法分别计算矩形的周长和面积 ,编程利用Rectangle输出一个矩形的

    //90页第三题,创建一个 Rectangle类,添加width和lenght两个成员变量 //在 Rectangle类中添加两种方法分别计算矩形的周长和面积 //编程利用Rectangle输出一个矩 ...

  3. Python如何创建一个单链表,以及实现单链表的增,删,改,查操作,以及对单链表的排序功能

    标题Python如何创建一个单链表,以及实现单链表的增,删,改,查操作,以及对单链表的排序功能 #功能: 实现单链表的构建和功能操作 #定义单链表的类 class Node:""& ...

  4. 利用51单片机制作一个秒表的详细过程

    利用51单片机制作一个秒表的详细过程 前面的话: 和很多朋友一样,在学51单片机的过程中我们肯定会涉及到制作一个秒表,牵涉到把单片机的多个部分组合起来使用,这对于我们初学者来说可能显得有些困难,我同大 ...

  5. Linux 创建oracle数据库的详细过程

    Linux 创建oracle数据库的详细过程 一.root用户登录服务器之后切换到Oracle用户 su - oracle 二.登录到sys用户 sqlplus / as sysdba 三.创建临时表 ...

  6. 实验六:分析Linux内核创建一个新进程的过程

    20135108 李泽源 阅读理解task_struct数据结构http://codelab.shiyanlou.com/xref/linux-3.18.6/include/linux/sched.h ...

  7. linux内核创建用户,分析Linux内核创建一个新进程的过程

    谢文杰 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.实验目的 阅 ...

  8. linux搭建一个的过程,Linux内核创建一个新进程的过程

    此文仅用于MOOCLinux内核分析作业 task_struct数据结构 根据wiki的定义,进程是计算机中已运行程序的实体.在面向线程设计的系统(Linux 2.6及更新的版本)中,进程本身不是基本 ...

  9. 每日一题——剑指 Offer24反转链表

    如果您是第一次看我写的博客,可以给我点个赞并关注我吗,我会持续分享更多有意思的干货. 文章目录 1 题目 2 思路 3 代码 4 小结 1 题目 剑指 Offer 24. 反转链表 定义一个函数,输入 ...

  10. 已知由一个线性链表表示的线性表中含有 3 类字符的数据元素(如:字母,数字和其他字符),试编写算法将该线性链表分割为 3 个循环链表,其中每个循环链表均只含有一类字符。

    先封装一个单链表LA,引用Creat()函数利用尾插法来生成链表,先输入n值来确定单链表中数据元素的个数,然后通过键盘输入元素,创建3个空链表来存放三种不同字符类型,通过Match()中的ASCII码 ...

最新文章

  1. android studio 如何让包名展开
  2. 在Powershell中禁止执行脚本
  3. Hook技术之Hook Activity
  4. 浙大计算机学院吴飞,浙江大学吴飞教授来我院作人工智能学术报告
  5. 1.7 编程基础之字符串 14 大小写字母互换 python
  6. excel 字符串拼接_Excel教程:应收账款自动弹窗提醒
  7. 四川大学2012年数学分析考研试题
  8. 深度学习专项课程精炼图笔记!必备收藏 | 原力计划
  9. 剑指offer面试题29. 顺时针打印矩阵(边界问题)
  10. Android项目图像资源保存在,将图像从drawable保存到android中的内部文件存储
  11. python封装为php库,从PHP运行Python脚本作为库
  12. 通过TXT文件批量生成PDF417码
  13. GreenSock Animation Platform
  14. 估值篇之最关键指标ROE
  15. 幻梦一场:Vulcan Project
  16. 舌尖上的职场(三)我来买单!(转)
  17. #留言板(五)#留言板界面
  18. 腾讯文档如何设置保护单元格与工作表?
  19. 亚马逊电商数据自动化管理接口平台JAVA SP-API接口开发(下)
  20. linux下的mkfifo 命令

热门文章

  1. android 信鸽推送点击消息跳转问题,信鸽推送 Android 跳转Activity
  2. hmm 隐马尔可夫模型讲解
  3. 什么是深度卷积神经网络,卷积神经网络怎么学
  4. 医疗AI的dicom图像拉取模块设计
  5. 企业集成平台与SOA架构
  6. 如何按关键字搜索商品详情
  7. android studio实现ar,在Android Studio上运行EasyAR
  8. MySQL数据库性能优化--硬件瓶颈分析
  9. 测试用例管理工具有哪些?
  10. mysql jemalloc_Jemalloc优化MySQL和Nginx