【郝斌数据结构自学笔记】24_链表创建和链表遍历算法的演示

原创 2015年11月19日 00:09:30

24_链表创建和链表遍历算法的演示

#include<stdio.h>

#include<malloc.h>

#include<stdlib.h>

 

typedefstruct Node

{

         int data;//数据域

         struct Node * pNext;//指针域

}NODE,*PNODE;//NODE等价于structNode,PNODE等价于struct Node *

//函数声明

PNODEcreate_list(void);

voidtraverse_list(PNODE pHead);

 

 

int main(void)

{

         PNODE pHead=NULL;//等价于structNode *pHead=NULL;

         pHead=create_list();//creat_list()功能:创建一个非循环单链表,并将该链表的头节点的地址付给pHead

         traverse_list(pHead);

 

         return 0;

}

 

PNODE create_list(void)

{

         int len;//用来存放有效节点的个数

         int i;

         int val;//用来临时存放用户输入的节点的值

 

         //分配了一个不存放有效数据的头节点

         PNODEpHead=(PNODE)malloc(sizeof(NODE));

         if(NULL==pHead)

         {

                   printf("分配失败,程序终止!\n");

                   exit(-1);

         }

         PNODE pTail=pHead;

         pTail->pNext=NULL;

         printf("请输入您需要生成的链表节点的个数:len=");

         scanf("%d",&len);

 

         for (i=0;i<len;i++)

         {

                   printf("请输入第%d个节点的值:",i+1);

                   scanf("%d",&val);

 

                   PNODEpNew=(PNODE)malloc(sizeof(NODE));

                   if(NULL==pNew)

                   {

                            printf("分配失败,程序终止!\n");

                            exit(-1);

                   }

                   pNew->data=val;//挂

                   pTail->pNext=pNew;

                   pNew->pNext=NULL;

                   pTail=pNew;

        

         }

         return pHead;

}

 

void traverse_list(PNODE pHead)

{

         PNODE p=pHead->pNext;

         while(NULL!=p)

         {

                   printf("%d",p->data);     

                   p=p->pNext;//不连续,不能用p++

         }

         printf("\n");

         return;

}


版权声明:本文为博主原创文章,未经博主允许不得转载。

【郝斌数据结构自学笔记】16-23_链表的定义与分类_链表节点插入与删除_每一个链表节点的数据类型该如何表示的问题

16_链表的定义 定义:          n个节点离散分配;彼此通过指针相连;每个节点只有一个后续节点,首节点没有前驱节点,尾节点没有后续节点。 专业术语:          首节点:第...
  • NewNicholas
  • NewNicholas
  • 2015年11月18日 21:45
  • 936

跟着郝斌学数据结构(01)——预备

数据结构概述 定义 我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能(比如查找某个元素,删除某个元素,对所有元素进行排序)而执行的...
  • xxssyyyyssxx
  • xxssyyyyssxx
  • 2016年05月15日 12:59
  • 975

跟着郝斌学数据结构(03)——链表【基本概念】

typedefine的使用:为了减少书写的麻烦,可以将一个结构体的定义用另外一个名称来代替。 typedefine struct Student { int sid; char[20] nam...
  • xxssyyyyssxx
  • xxssyyyyssxx
  • 2016年05月15日 17:42
  • 549

跟着郝斌学数据结构(04)——链表【链表的操作】

# include # include # include typedef struct Node { int data; //数据域 struct Node * pNext; //指针域...
  • xxssyyyyssxx
  • xxssyyyyssxx
  • 2016年05月15日 18:28
  • 295

【分享】郝斌老师C语言 教程 1 到 180课

1到10课 郝斌老师C语言1-10.rar (55.18 MB) ed2k://|file|%E9%83%9D%E6%96%8C%E8%80%81%E5%B8%88C%E8%AF%AD%E8%A8...
  • abc4715760
  • abc4715760
  • 2014年11月11日 00:35
  • 3188

C语言学习笔记-指针-郝斌老师讲解

指针:         内存单元的编号,就是地址。 指针就是地址,地址就是指针。 地址就是内存单元的编号。 指针变量就是存放地址的变量。 指针和指针变量是两个不同的概念 但是要注意...
  • wind11ddaa
  • wind11ddaa
  • 2017年05月26日 18:27
  • 348

数据结构笔记(郝斌主讲)(2015-11-26 22:16:36更新完毕)

教材-课外书籍推荐 高一凡(伪算法→真代码) 数据结构概述 定义 我们如何把现实生活中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能(比...
  • juliantem
  • juliantem
  • 2015年08月21日 12:46
  • 704

郝斌老师-sql-server-2005数据库大纲

声明:这是郝斌先生的笔记,我在博客中展示,只是为了方便查阅数据库学习大纲 什么是数据库 狭义: 存储数据的仓库 广义: 可以对数据进行存储和管理的软件以及数据本身统称为数据库...
  • qq_25847123
  • qq_25847123
  • 2016年09月21日 23:43
  • 1090

数据结构(郝斌)

 一周一个小项目,可能是一个具体的问题的求解方法,也可能是一周的学习笔记。 本周学习重点 数据结构 什么是数据结构? 数据结构概述: 1定义    书籍作者:严蔚明,吴伟民,高一凡,...
  • Lfq1993124
  • Lfq1993124
  • 2017年03月21日 15:41
  • 200

郝斌数据结构笔记

数据结构定义:        我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能而执行的相应的操作(比如查找某个元祖,删除某个元素...
  • qintian888
  • qintian888
  • 2017年02月28日 18:47
  • 196
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【郝斌数据结构自学笔记】24_链表创建和链表遍历算法的演示
举报原因:
原因补充:

(最多只允许输入30个字)