定义结构体-建链表-输入需要插入的数据-按值确定插入位置-插入新元素-输出链表各元素。
时间: 2023-10-01 22:03:43 浏览: 81
下面程序是定义一个结构体,并为其定义结构体变量,对其值输入、输出。
5星 · 资源好评率100%
好的,您的问题是如何在C语言中定义结构体,建立链表,并插入元素,最后输出链表的各个元素。下面是一份基本的代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义一个结构体
struct Node {
int data;
struct Node *next;
};
// 在链表中插入新元素
void insertNode(struct Node **head, int value) {
//创建一个新节点
struct Node *newNode = (struct Node *)malloc(sizeof(struct Node));
newNode->data = value;
newNode->next = NULL;
// 如果链表为空,则插入新节点为头节点
if (*head == NULL) {
*head = newNode;
return;
}
// 从头节点开始遍历链表,直到找到需要插入的位置
struct Node *current = *head;
while (current->next != NULL && current->next->data < value) {
current = current->next;
}
// 插入新节点
newNode->next = current->next;
current->next = newNode;
}
// 输出链表的各元素
void printList(struct Node *head) {
struct Node *current = head;
while (current != NULL) {
printf("%d ", current->data);
current = current->next;
}
printf("\n");
}
int main() {
struct Node *head = NULL;
// 插入新元素
insertNode(&head, 3);
insertNode(&head, 1);
insertNode(&head, 2);
insertNode(&head, 5);
insertNode(&head, 4);
// 输出链表的各元素
printList(head);
return 0;
}
```
这个程序使用了一个结构体来表示链表中的每个节点,使用了指针来遍历和插入新节点,最后输出链表的所有元素。
阅读全文