假设有如下定义的单链表结点: struct List { int num; char name[20]; struct List *next; }; 编程实现如下功能: ① 创建单链表,函数...

该文描述了如何使用C语言创建单链表,包括创建新节点、输出链表内容以及在指定位置插入节点的函数实现。创建函数通过malloc分配内存,输入节点信息;输出函数遍历链表打印节点;插入函数则在位置k处插入新节点。
摘要由CSDN通过智能技术生成

① 创建单链表,函数原型为: struct List * H_creat_list();

实现方法如下:

struct List * H_creat_list()
{// 分配内存空间,用于存储新的结点
  struct List *new_node = (struct List *)malloc(sizeof(struct List));
  // 判断是否分配成功
  if (new_node == NULL)
  {
    printf("内存分配失败!\n");
    exit(1);
  }
  // 输入结点信息
  printf("输入学号:");
  scanf("%d", &new_node->num);
  printf("输入姓名:");
  scanf("%s", new_node->name);
  // 新结点的 next 指针指向 NULL
  new_node->next = NULL;
  // 返回新结点的地址
  return new_node;
}

② 输出单链表,函数原型为: void print(struct List *head);

实现方法如下:

void print(struct List *head)
{
  // 定义指针变量 p,用于遍历单链表
  struct List *p = head;
  // 遍历单链表,输出结点信息
  while (p != NULL)
  {
    printf("学号:%d,姓名:%s\n", p->num, p->name);
    p = p->next;
  }
}

③ 在一个单链表中指定的位置 k 插入一个结点,函数原型为: struct List *insert_Node_k(struct List *head, int num ,char name[],int k);

实现方法如下:

``` struct List *insert_Node_k(struct List *head, int num ,char name[],int k) { // 定义指针变量 p,用于遍历单链表 struct List *p = head; // 分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值