可以使用如下代码实现
单链表不
带头 节点的建表:
单链表#include <stdio.h>
#include <stdlib.h>
typedef struct Node {
int data;
struct Node *next;
} Node;
Node *createList() {
Node *head = NULL, *tail = NULL;
int x;
while (scanf("%d", &x) == 1) {
Node *newNode = (Node *)malloc(sizeof(Node));
newNode->data = x;
newNode->next = NULL;
if (head == NULL) {
head = tail = newNode;
} else {
tail->next = newNode;
tail = newNode;
}
}
return head;
}
void printList(Node *head) {
Node *p = head;
while (p != NULL) {
printf("%d ", p->data);
p = p->next;
}
printf("
");
}
int main() {
Node *head = createList();
printList(head);
return 0;
}
并返回头
节点。在创建链表时,我们使用了一个尾指针 tail 来记录链表的尾部,这样可以避免每次插入都需要遍历整个链表。最后,我们可以使用 printList 函数来打印链表的所有元素。
到此这篇带头尾指针的单链表(带头指针和尾指针的单循环链表区别)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/qkl-jc/49194.html