数据结构用尾插法创建单链表,并输出单链表中的各元素值。
时间: 2023-04-02 21:04:51 浏览: 363
可以回答这个问题。尾插法创建单链表的步骤如下:
1. 定义一个头结点,初始化为空链表。
2. 定义一个指针p,指向头结点。
3. 读入元素值,创建一个新结点,并将元素值存入新结点的数据域中。
4. 将新结点插入到链表尾部,即p的后继结点。
5. 将p指向新结点,重复步骤3-4,直到读入结束。
6. 遍历链表,输出各元素值。
具体代码实现如下:
#include <stdio.h>
#include <stdlib.h>
typedef struct Node {
int data;
struct Node *next;
} Node, *LinkedList;
LinkedList createList() {
LinkedList head = (LinkedList) malloc(sizeof(Node));
head->next = NULL;
return head;
}
void insertTail(LinkedList head, int data) {
Node *p = head;
while (p->next != NULL) {
p = p->next;
}
Node *newNode = (Node *) malloc(sizeof(Node));
newNode->data = data;
newNode->next = NULL;
p->next = newNode;
}
void printList(LinkedList head) {
Node *p = head->next;
while (p != NULL) {
printf("%d ", p->data);
p = p->next;
}
printf("\n");
}
int main() {
LinkedList list = createList();
int n, data;
scanf("%d", &n);
for (int i = ; i < n; i++) {
scanf("%d", &data);
insertTail(list, data);
}
printList(list);
return ;
}
阅读全文