C++创建并打印单链表

C++创建并打印单链表,第1张

        下面代码实现了使用C++语言根据输入数据创建一个单链表:

        例如输入:1 2 3 4 5 -1(结束符)

        打印链表:1->2->3->4->5->NULL

#include 
using namespace std;

struct ListNode
{
    int val;
    struct ListNode *next;
};

/ 创建单链表 head作为第一个元素节点
void CreatLinkList(ListNode *head)
{  
    int x;
    struct ListNode *cur;  
    struct ListNode *p;   //用于创建每一个节点

    printf("请输入链表元素,以-1结束\n");
    
    scanf("%d", &x);
    head->val = x;

    cur = head;

    
    while(1)
    {
        scanf("%d", &x);
        if(x == -1)
            break;
        p = (ListNode *)malloc(sizeof(ListNode));
        p->val = x;
        p->next = NULL;

        cur->next = p;
        cur = p;
    }
    cur->next = NULL;
}

// 打印单链表
void PrintLinkList(struct ListNode *head)
{
    struct ListNode *r;
    r = head;

    while (r != NULL)
    {
        cout << r->val << "->";
        r = r->next;
    }
    cout << "NULL" << endl;
}


int main()
{
    ListNode *head = NULL;
    head = (ListNode *)malloc(sizeof(ListNode));

    CreatLinkList(head);
    PrintLinkList(head);

    free(head);
    system("pause");
    return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/734464.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存