关闭

链表的前插法建立与后插法建立

标签: 链表c
896人阅读 评论(0) 收藏 举报
分类:
#include <stdio.h>
#include <stdlib.h>
struct ListNode
{
    int val;
    struct ListNode *next;
};
void printList(ListNode* ln1)
{
    ListNode* ln = ln1;
    while((ln=ln->next))
    {
        printf("%d\n",ln->val);
    }
}
ListNode* before_insert(int n)//reverse order
{
    ListNode *l,*p;
    l = (ListNode*)malloc(sizeof(ListNode));
    l->next = NULL;

    while(n--)
    {
        p = (ListNode*)malloc(sizeof(ListNode));
        p->val=n+3;
        p->next=l->next;
        l->next=p;
    }
    return l;
}
ListNode* after_insert(int n)
{
    ListNode *l,*p,*r;
    l = (ListNode*)malloc(sizeof(ListNode));
    l->next = NULL;
    r=l;

    while(n--)
    {
        p = (ListNode*)malloc(sizeof(ListNode));
        p->val=n+5;
        p->next=NULL;
        r->next=p;
        r=p;
    }
    return l;
}
int main()
{
    ListNode* l = after_insert(3);
    ListNode* ll = before_insert(3);
    printList(l);
    printList(ll);
}
1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:24713次
    • 积分:839
    • 等级:
    • 排名:千里之外
    • 原创:60篇
    • 转载:6篇
    • 译文:0篇
    • 评论:7条
    文章分类
    最新评论