Chris Brown 2020-02-09 12:18 采纳率: 100%
浏览 278

C语言归并有序单链表的问题

自己写了一个归并两个有序单链表成为一个有序单链表的程序,奈何运行没有结果。
求教各位网友,本人学生,望不吝赐教。

#include<stdio.h>
#include<stdlib.h>
typedef struct Node{
        int data;
        struct Node *next;
    } Node;
Node* creatNode(int i)
{
    Node *a = (Node *)malloc(sizeof(Node));
    a->data = i;
    a->next = NULL;
    return a;
}
void insert(Node* p,int k){
    Node* insertion;
    insertion = creatNode(k);
    while(p->next!=NULL){
        p = p->next;
    }
    p->next = insertion;
}
void merge(Node*a,Node*b,Node**c)
{
    Node *p, *q;    //p和q指针分别指向a和b中最小的元素
    p = a->next;
    q = b->next;
    *c = a;
    free(b);
    while(p!=NULL&&q!=NULL){
        if(p->data<=q->data){
            insert(*c, p->data);
            p = p->next;
        }
        else{
            insert(*c, q->data);
            q = q->next;
        }
    }
    while(p!=NULL){
        insert(*c, p->data);
        p = p->next;
    }
    while(q!=NULL){
        insert(*c, q->data);
        q = q->next;
    }
}
int main()
{
    Node *a = creatNode(0);
    insert(a, 2);
    insert(a, 4);
    insert(a, 6);

    Node *b = creatNode(0);
    insert(b, 1);
    insert(b, 3);
    insert(b, 5);

    Node *c = creatNode(0);
    merge(a, b, &c);

    while(c!=NULL){
        printf("%d\t", c->data);
        c = c->next;
    }
    getchar();
    return 0;
}
  • 写回答

1条回答 默认 最新

  • threenewbee 2020-02-09 13:03
    关注

    一样的问题,刚回答过,这是你的同学?

    https://ask.csdn.net/questions/1053826

    评论

报告相同问题?

悬赏问题

  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码