c语言链表头插法

c语言链表头插法


2024年5月13日发(作者:)

c语言链表头插法

链表是一种重要的数据结构,在c语言中可以通过指针来实现链

表。其中一个常用的插入方法就是链表的头插法。

链表的头插法就是在链表的头部插入一个新节点,使其成为链表

的第一个节点。这个操作可以通过以下步骤来实现:

1. 定义一个新节点,申请空间,设置节点的数据域和指针域;

2. 将新节点的指针域指向当前链表的头节点;

3. 将新节点设置为当前链表的头节点。

C语言链表头插法的示例代码如下:

```

#include

#include

typedef struct Node {

int data;

struct Node *next;

} Node;

Node *createNode(int data) {

Node *newNode = (Node *) malloc(sizeof(Node));

newNode->data = data;

newNode->next = NULL;

return newNode;

}

- 1 -

void insertHead(Node **head, int data) {

Node *newNode = createNode(data);

if (*head == NULL) {

*head = newNode;

} else {

newNode->next = *head;

*head = newNode;

}

}

void printList(Node *head) {

while (head != NULL) {

printf('%d ', head->data);

head = head->next;

}

printf('

');

}

int main() {

Node *head = NULL;

insertHead(&head, 3);

insertHead(&head, 2);

insertHead(&head, 1);

- 2 -

printList(head);

return 0;

}

```

在这个示例代码中,我们定义了一个名为Node的结构体,它有

两个成员:int类型的数据域和指向下一个节点的指针域。我们还定

义了一个createNode()函数来创建新的节点,并把数据域和指针域

设置成指定的值。insertHead()函数则是用来在链表头部插入新节点

的函数。它首先创建一个新节点,然后检查当前链表是否为空。如果

链表为空,则把新节点作为链表的头节点;如果链表不为空,则把新

节点的指针域指向当前的头节点,然后将新节点设置为当前链表的头

节点。最后,我们使用printList()函数来打印链表中所有节点的数

据。在main()函数中,我们创建了一个空链表,然后使用insertHead()

函数在链表头部插入了三个节点,最后使用printList()函数来打印

链表的内容。

链表头插法是一种常用的插入方法,它可以使插入操作的时间复

杂度保持在O(1)级别,而不会随着链表长度的增加而增加。因此,

在实际应用中,它也是一种很方便的操作方式。

- 3 -


发布者:admin,转转请注明出处:http://www.yc00.com/news/1715601290a2643163.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信