雾月55 2023-10-05 15:24 采纳率: 0%
浏览 29

设计一个算法,根据一维数组建立一个单链表,并表中的数据元素与数组元素的次序相同

设计一个算法,根据一维数组建立一个单链表,并表中的数据元素与数组元素的次序相同

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2023-10-05 16:22
    关注

    供参考:

    #include <stdio.h>
    #include <stdlib.h>
    typedef struct Node{
        int    data;
        struct Node * next;
    }LinkNode,*LinkList;
    
    void CreatList(LinkList* L, int *a, int n)
    {
        int i;
        LinkList pt = NULL, ph = NULL;
        for (i = 0; i < n; i++){
            pt = (LinkList)malloc(sizeof(LinkNode));
            pt->next = NULL;
            pt->data = a[i];
            if (!(*L))
                (*L) = pt;
            else
                ph->next = pt;
            ph = pt;
        }
    }
    void PrintList(LinkList L)
    {
        LinkList pt = L;
        if (!L)
            printf("NULL");
        else{
            while (pt){
                printf(pt == L ? "%d" : " %d", pt->data);
                pt = pt->next;
            }
        }
    }
    int main()
    {
        int  a[10]={1,2,3,4,5,6,7,8,9,10}, n = 10;
        LinkList L = NULL;
        CreatList(&L, a, n);
        PrintList(L);
        return 0;
    }
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 10月5日