Hakutaku 2018-10-11 17:43 采纳率: 100%
浏览 700
已采纳

C语言写一个函数将两个 linked list 加到一起。

先是typedef

typedef struct {
char start;
char end;
int value;
int passed;
} info_t;

typedef info_t* data_t;

typedef struct node node_t;
struct node {
data_t data;
node_t *next;
}

typedef struct {
node_t *head;
node_t *foot;
} list_t;

list_t
make_empty_list(void) {
list_t *list;
list = (list_t
)malloc(sizeof(*list));
assert(list!=NULL);
list->head = list->foot = NULL;
return list;
}

然后要写的function是把one_list 加到 all_list 之前,要分两种情况考虑到all_list是不是空
add_list(list_t *all_list, list_t*one_list) {

  • 写回答

1条回答 默认 最新

  • cold_windx 2018-10-12 00:55
    关注

    void add_list(list_t *all_list, list_t *one_list)
    {
    if (one_list->head == NULL)
    return;
    if (all_list->head == NULL)
    {
    all_list->head = one_list->head;
    all_list->foot = one_list->foot;
    return;
    }
    one_list->foot->next = all_list->head;
    all_list->head = one_list->head;
    }

    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集
  • ¥15 怎么改成输入一个要删除的数后现实剩余的数再输入一个删除的数再现实剩余的数用yes表示继续no结束程序
  • ¥15 在启动roslaunch时出现如下问题
  • ¥15 汇编语言实现加减法计算器的功能
  • ¥20 关于多单片机模块化的一些问题
  • ¥30 seata使用出现报错,其他服务找不到seata
  • ¥35 引用csv数据文件(4列1800行),通过高斯-赛德尔法拟合曲线,在选取(每五十点取1点)数据,求该数据点的曲率中心。
  • ¥20 程序只发送0X01,串口助手显示不正确,配置看了没有问题115200-8-1-no,如何解决?
  • ¥15 Google speech command 数据集获取