#include "stdafx.h"
#include<stdio.h>
#include<stdlib.h>
typedef struct Node
{
int data ;//数据域 struct Node * pNext; //指针域 这个指针域它指向的是跟它本身一样的数据类型的另一个节点 }NODE,*PNODE; //NODE等价于struct Node PNODE等价于struct Node* PNODE create_list(void); void traverse_list(PNODE pHead); bool is_empty(PNODE pHead); int length_list(PNODE); bool insert_list(PNODE,int,int); bool delete_list(PNODE,int ,int*);
//动态分配的内存 int main(int argc, char* argv[])
{
PNODE pHead = NULL; //等价于struct Node * pHead = Null 头节点 pHead = create_list();//create_list():创建一个非循环单链表,并将该链表的头节点的地址赋给pHead traverse_list(pHead); system("pause"); return 0;
} PNODE create_list(void)//返回类型为地址 PNODE = struct Node*
{
int len;//用来存放有效结点的个数 int i; int val;//用来临时存放用户输入的结点的值 //分配了一个不存放有效数据的头节点,不能叫头指针
PNODE pHead = (PNODE)malloc(sizeof(NODE));//分配头节点的首地址给了pHead PNODE = struct Node*
if (NULL==pHead)
{
printf("分配失败,程序失败!");
exit(-1);
}
PNODE pTail = pHead; //尾结点 初始化 pTail->pNext = NULL; //用来清空尾结点的指针域 printf("请输入您需要生成的链表节点的个数:len = \n"); scanf("%d",&len); for( i = 0; i<len;++i)
{
printf("请输入第%d个节点的值",i+1); scanf("%d",&val); PNODE pNew = (PNODE)malloc(sizeof(NODE));// PNODE等价于struct Node* if(NULL==pNew)
{ printf("分配失败,程序终止");
}
pNew->data =val;// 将变量值赋值到结点的数据域当中 pTail->pNext = pNew; //将新的结点挂到尾结点 pNew->pNext = NULL; pTail = pNew; }
return pHead;
}
void traverse_list(PNODE pHead)
{ //链表不能用数组来遍历
PNODE p = pHead->pNext; //p指向第一个有效结点 while (NULL!=p)
{
printf("%d ",p->data); p = p->pNext; }
printf("\n");
return ; }

C语言链表实现(郝斌数链表学习笔记)的更多相关文章

  1. 郝斌–SQL Server2005学习笔记

    数据库(Database)狭义上是指存储数据的仓库,广义上包含对数据进行存储和管理的软件(DBMS)和数据本身.数据库由表.关系和操作组成. 一.数据库简介 1.为什么需要数据库 数据库简化了对数据的 ...

  2. Go语言核心36讲(导读)--学习笔记

    目录 开篇词 | 跟着学,你也能成为Go语言高手 导读 | 写给0基础入门的Go语言学习者 导读 | 学习专栏的正确姿势 开篇词 | 跟着学,你也能成为Go语言高手 Go 语言是由 Google 出品 ...

  3. Go语言核心36讲(Go语言实战与应用十五)--学习笔记

    37 | strings包与字符串操作 Go 语言不但拥有可以独立代表 Unicode 字符的类型rune,而且还有可以对字符串值进行 Unicode 字符拆分的for语句. 除此之外,标准库中的un ...

  4. 数模学习笔记(五)——BP神经网络

    1.BP神经网络是一种前馈型网络(各神经元接受前一层的输入,并输出给下一层,没有反馈),分为input层,hide层,output层 2.BP神经网络的步骤: 1)创建一个神经网络:newff a.训 ...

  5. Go语言核心36讲(Go语言实战与应用十二)--学习笔记

    34 | 并发安全字典sync.Map (上) 我们今天再来讲一个并发安全的高级数据结构:sync.Map.众所周知,Go 语言自带的字典类型map并不是并发安全的. 前导知识:并发安全字典诞生史 换 ...

  6. Go语言核心36讲(Go语言实战与应用十四)--学习笔记

    36 | unicode与字符编码 在开始今天的内容之前,我先来做一个简单的总结. Go 语言经典知识总结 在数据类型方面有: 基于底层数组的切片: 用来传递数据的通道: 作为一等类型的函数: 可实现 ...

  7. Go语言核心36讲(Go语言实战与应用十六)--学习笔记

    38 | bytes包与字节串操作(上) 前导内容: bytes.Buffer基础知识 strings包和bytes包可以说是一对孪生兄弟,它们在 API 方面非常的相似.单从它们提供的函数的数量和功 ...

  8. Go语言核心36讲(Go语言实战与应用十八)--学习笔记

    40 | io包中的接口和工具 (上) 我们在前几篇文章中,主要讨论了strings.Builder.strings.Reader和bytes.Buffer这三个数据类型. 知识回顾 还记得吗?当时我 ...

  9. Go语言核心36讲(Go语言实战与应用二十)--学习笔记

    42 | bufio包中的数据类型 (上) 今天,我们来讲另一个与 I/O 操作强相关的代码包bufio.bufio是"buffered I/O"的缩写.顾名思义,这个代码包中的程 ...

  10. Go语言核心36讲(Go语言实战与应用二十一)--学习笔记

    43 | bufio包中的数据类型(下) 在上一篇文章中,我提到了bufio包中的数据类型主要有Reader.Scanner.Writer和ReadWriter.并着重讲到了bufio.Reader类 ...

随机推荐

  1. jquery 禁用按钮无效 disabled属性设置无效

    禁用按鈕 $(this).prop("disabled", true); 啟用按鈕 $(this).prop("disabled", false); 禁用按鈕 ...

  2. xlsx纯前端导出表格,完善边框等样式

    仅用xlsx是无法实现文字样式及表格边框的style的,因此配合使用xlsx-style 以下源码直接复制过去用 // 源码什么的都不需要改动 import * as XLSXStyle from ' ...

  3. 【配置教程】撑起月6亿PV开源监控解决方案

    上次分享过<一个.Net Core开源监控解决方案,支持Redis.Elasticsearch.SqlServer>,这是Stack Overflow 开源的监控产品,基于.Net Cor ...

  4. [SWPUCTF 2021 新生赛]简简单单的逻辑

    得到一个.py文件,一般是没壳的,不过还是要养成习惯,查个壳: 意料之中,啥也没有,打开文件: 给了我们一个加密逻辑,然后最后一行给了一个结果:那么就是根据上述的逻辑,反解密出flag就好了 分析一下 ...

  5. Golang指针隐式间接引用

    1.Golang指针 在介绍Golang指针隐式间接引用前,先简单说下Go 语言的指针 (Pointer),一个指针可以指向任何一个值的内存地址 它指向那个值的内存地址,在 32 位机器上占用 4 个 ...

  6. centos安装Vue

    一直以来,有关LINUX的系统安装包,都是比较随意,直接使用yum进行或者apt-get 安装 标准安装流程是什么的呢.我们通过centos安装Vue进行展示 1 首先下载安装nodejs , htt ...

  7. 常用类API

    常用类 API CalendarCalendar 线程不安全 ,不同步获得并设置日历字段值 Calendar 使用两个参数定义了特定于语言环境的 7 天制星期:星期的第一天和第一个星期中的最小一天(从 ...

  8. C温故补缺(十八):网络编程

    计算机网络 参考:TCP三次握手详解. OSI模型 简单分层: 其中,链路层还可以分出物理层和数据链路层.应用层可以分出会话层,表示层和应用层. 七层模型: 链路层:只是物理的比特流和简单封装的数据帧 ...

  9. 顶级生物信息学 RSS 订阅源

    早在 2018 年的时候我在"生信草堂"的公众号上写过一篇关于 RSS 的文章<使用 RSS 打造你的科研资讯头条>,介绍了关于 RSS 的一些内容和如何使用 inor ...

  10. 【LeetCode.384打乱数组】Knuth洗牌算法详解

    前两天看网易面筋得知网易云的随机歌曲播放使用了这个算法,遂找题来做做学习一下 打乱数组 https://leetcode.cn/problems/shuffle-an-array/ 给你一个整数数组 ...