单链表的创建与遍历

#include "stdafx.h"
#include <malloc.h>

typedef struct NODE
{
    int data;
    struct NODE* pNext;

}NODE,*PNODE;
PNODE Create_list(void);
void Traversal_list(PNODE pHead);

int _tmain(int argc, _TCHAR* argv[])
{

    PNODE pHead = NULL;
    pHead = Create_list();
    Traversal_list(pHead);
    getchar();
    return 0;
}
PNODE Create_list(void)
{
    int i;
    int num[10] = {1,2,3,4,5,6,7,8,9,10};
    PNODE pHead = (PNODE)malloc(sizeof(struct NODE));
    PNODE p = pHead;
    p->pNext = NULL;
    for (i=0;i<10;i++)
    {
        PNODE pNew = (PNODE)malloc(sizeof(struct NODE));

        pNew->data = num[i];
        p->pNext = pNew;
        pNew->pNext = NULL;
        p=pNew;
    }
    return pHead;
}
void Traversal_list(PNODE pHead)
{
    PNODE p = pHead->pNext;
    while(p)
    {
        printf("%d  ",p->data);
        p = p->pNext;
    }
    return;
}
时间: 2024-10-25 14:54:09

单链表的创建与遍历的相关文章

单链表中创建与遍历

import java.util.Stack; public class Reverse{ class LNode{ int data; LNode next; public LNode(int data){ this.data=data; } } public static void main(String []args){ Reverse r = new Reverse(); for(int i=1;i<=10;i++){ r.add(i); } r.print(r.head); } pub

使用OC实现单链表:创建、删除、插入、查询、遍历、反转、合并、判断相交、求成环入口

一.概念 链表和数组都是一种线性结构,数组有序存储的,链表是无序存储的. 数组中的每一个元素地址是递增或者递减的关系,链表的每一个节点的地址没有此规律,它们是通过指针的指向连接起来. 链表种类:单链表.双向链表.循环链表.双向循环链表 单链表:一个数据域data.一个后继指针域next.也即:上一个节点指向下一个节点,尾节点指向空. 双向链表:一个数据域data.一个前驱指针域previous.一个后继指针域next.也即:上一个节点和下一个节点互相指向,尾节点指向空. 循环链表:一个数据域da

单链表 初始化 创建 头插法 尾插法 插入 删除 查找 合并 长度

#include <stdio.h> #include <stdlib.h> #define OK 1 #define ERROR -1 #define TRUE 1 #define FALSE -1 #define NULL 0 #define OVERFLOW -2 #define ElemType int #define Status int typedef int ElemType typedef int Status #define LEN sizeof(LNode) #

「C语言」单链表/双向链表的建立/遍历/插入/删除

最近临近期末的C语言课程设计比平时练习作业一下难了不止一个档次,第一次接触到了C语言的框架开发,了解了View(界面层).Service(业务逻辑层).Persistence(持久化层)的分离和耦合,一种面向过程的MVC的感觉. 而这一切的基础就在于对链表的创建.删除.输出.写入文件.从文件读出...... 本篇文章在于巩固链表的基础知识(整理自<C语言程序设计教程--人民邮电出版社>第十章),只对链表的概念及增删改查作出探讨,欢迎指教. 一.链表结构和静态/动态链表 二.单链表的建立与遍历

单链表的创建算法

单链表的创建算法 当一个序列中只含有指向它的后继结点的链接时,就称该链表为单链表. 单链表的示意图如下: Head指针为单链表的头指针,单链表L:L既是单链表的名字,也是其头指针.链表中的最后一个结点的指针域定义为空指针(NULL). 单链表的定义: struct Node { ElemType data; struct Node *next; }; typedef struct Node LNode; typedef struct Node *LinkedList; 单链表有带头结点和不带头结

[数据结构】【c语言】链表的创建和遍历

第一次写代码的博客,一个刚刚接触的新手,来这里主要是为了记录自己,方便自己以后浏览,也欢迎大家指正.先来个简单的,动态链表的创建和遍历. #include<stdio.h> #include<stdlib.h> #include<malloc.h> //定义链表的节点 typedef struct LNode { int data; struct LNode *next; } *LinkList; //创建链表函数 LinkList CreateList() { Lin

单链表的创建,插入,删除,遍历

1 #include<stdio.h> 2 #include<iostream> 3 #include<malloc.h> 4 #define OK 1 5 #define ERROR 0 6 using namespace std; 7 typedef struct LNode 8 { 9 int data; 10 struct LNode *next; 11 } LNode,*LinkList; 12 13 void Init(LinkList &L)///

C语言写单链表的创建、释放、追加(即总是在最后的位置增加节点)

昨天周末给学妹讲了一些指针的知识,本来我对指针就是似懂非懂的状态,经过昨天一讲,我对指针的学习就更深刻了果然给别人讲课也是学习的一个方法.加上最近复习数据结构,发现我的博客里没有链表的博文,所以趁这时候加上一篇. 在此之前,我们先谈一下我要说的一些基本知识: ①函数参数为什么是双指针? 我们先写一下这么一个程序: # include<stdio.h>void Gai(int m){ m=5;}int main(void){ int a=1; Gai(a); printf("%d\n&

C++单链表的创建与操作

链表是一种动态数据结构,他的特点是用一组任意的存储单元(可以是连续的,也可以是不连续的)存放数据元素.链表中每一个元素成为“结点”,每一个结点都是由数据域和指针域组成的,每个结点中的指针域指向下一个结点.Head是“头指针”,表示链表的开始,用来指向第一个结点,而最后一个指针的指针域为NULL(空地址),表示链表的结束.可以看出链表结构必须利用指针才能实现,即一个结点中必须包含一个指针变量,用来存放下一个结点的地址.结点中只有一个next指针的链表称为单链表,这是最简单的链表结构. 首先定义一个