zoukankan      html  css  js  c++  java
  • 数据结构(链表的创建与遍历)C语言实现

    # include<stdio.h>
    # include<malloc.h>
    # include<stdlib.h>
    
    typedef struct Node
    {
        int data;
        struct Node *pNext;
    }NODE,*PNODE;
    
    PNODE create_list(void);
    void traverse_list(PNODE pHead);
    int main(void)
    {
        PNODE pHead=NULL;
        pHead=create_list();
        traverse_list(pHead);
    
        return 0;
    }
    PNODE create_list(void)
    {
        int len;//用来存放有效节点的个数
        int i;
        int val;//用来临时存放用户输入的节点的值
        PNODE pHead=(PNODE)malloc(sizeof(NODE));//分配一个不存放有效数据的头节点
        if(NULL==pHead)
        {
            printf("分配失败,程序终止
    ");
            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);
            PNODE pNew=(PNODE)malloc(sizeof(NODE));
            if(NULL==pNew)
            {
                printf("分配失败,程序终止
    ");
                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(p !=NULL)
        {
            printf("%d ",p->data);
            p=p->pNext;
        }
        printf("
    ");
        return;
    }
  • 相关阅读:
    【mybatis-SqlSession的方法总结】
    【项目中遇到的一点问题】
    【request获取用户请求ip】
    【Linux入门】
    【linux学习-centeros】
    java Map 映射
    Java Set接口
    Java 泛型
    Java集合框架---重构设计
    Java 数据结构之双链表
  • 原文地址:https://www.cnblogs.com/zhujialei123/p/9182081.html
Copyright © 2011-2022 走看看