栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

[西南交通大学c语言编程题]建立一个链表,使链表中从头到尾的结点数据域依次是一个数组的各个元素的值。程序先建立链表然后再遍历输出(假定链表和数组均有6个整型元素)。

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[西南交通大学c语言编程题]建立一个链表,使链表中从头到尾的结点数据域依次是一个数组的各个元素的值。程序先建立链表然后再遍历输出(假定链表和数组均有6个整型元素)。

题目描述

建立一个链表,使链表中从头到尾的结点数据域依次是一个数组的各个元素的值。程序先建立链表然后再遍历输出(假定链表和数组均有6个整型元素)。
程序运行示例如下:
输入数组6个元素的值。
1 3 5 7 9 11
此链表各个结点的数据域为:1 3 5 7 9 11

#include 
#include 

#define N 6

struct LNode
{	   	 	 	 	  	
    int data;
    struct LNode *next;
}	   	 	 	 	  	;

struct LNode* create_rear(int a[], int n);
void output(struct LNode *h);

int main(int argc, char *argv[])
{	   	 	 	 	  	
    
    int a[N], i;
    struct LNode* head;

    
    printf("输入数组%d个元素的值。n", N);
    for (i = 0; i < N; i++)
        scanf("%d", &a[i]);

    
    head = create_rear(a, N);
    
    printf("此链表各个结点的数据域为:");
    output(head);

    return 0;
}	   	 	 	 	  	

struct LNode* create_rear(int a[], int n)
{	   	 	 	 	  	
    
    struct LNode *h = NULL;
    struct LNode *s, *r; 
    int i;

    for (i = 0; i < n; i++)
    {	   	 	 	 	  	
        s = (struct LNode *)malloc(sizeof(struct LNode));
        s->data = a[i];
        s->next = NULL;
        if (h == NULL)
            h = s;       
        else
            r->next = s; 
        r = s;           
    }
    return h;  
}	   	 	 	 	  	

void output(struct LNode *h)
{	   	 	 	 	  	
    
    struct LNode *p = h;
    while (p)
    {	   	 	 	 	  	
        
        printf("%d ", p->data);
        p = p->next;  //将p后移
    }
    printf("n");
}	
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/665609.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号