创建一个含头结点的空链表
时间: 2024-09-25 22:00:25 浏览: 37
带头结点尾插法创建链表.docx
要创建一个含头结点的空链表,你可以按照以下步骤进行:
1. 定义链表结构`linklist`,包含数据域`data`和指向下一个节点的指针`next`。
```c
typedef struct lnode {
int data;
struct lnode *next;
} linklist;
```
2. 创建一个头结点,通常初始化为`NULL`,表示链表开始时没有任何元素。
```c
linklist *head = NULL;
```
3. 当需要插入新元素时,可以从键盘读取输入并插入到链表的适当位置以保持有序。这里可以编写一个函数来实现这个功能,假设有一个输入函数如`getInput()`用于获取用户输入。
```c
void insertSorted(linklist **head, int input) {
linklist *newNode = (linklist *)malloc(sizeof(linklist));
newNode->data = input;
if (*head == NULL || newNode->data <= (*head)->data) {
newNode->next = *head;
*head = newNode;
} else {
linklist *current = *head;
while (current->next != NULL && current->next->data < newNode->data) {
current = current->next;
}
newNode->next = current->next;
current->next = newNode;
}
}
```
4. 调用`insertSorted`函数多次,每次输入一个新的整数,它都会被插入到链表的正确位置以保持升序。
阅读全文