用c++实现单链表的创建于输出,同时输出链表函数
时间: 2024-05-11 10:17:00 浏览: 54
好的,关于您提出的问题,我可以给您提供以下的 C 语言代码示例来实现单链表的创建和输出:
```c
#include<stdio.h>
#include<stdlib.h>
//定义链表节点结构体
struct Node{
int data;
struct Node *next;
};
//创建链表函数,返回链表的头节点指针
struct Node* createList(int n){
struct Node *head,*p,*q;
head = (struct Node*)malloc(sizeof(struct Node));
q = head; //q用于存储每次新节点的地址
for(int i=1;i<=n;++i){
p = (struct Node*)malloc(sizeof(struct Node));
printf("请输入第%d个节点的值:",i);
scanf("%d",&p->data);
q->next = p; //将新节点地址存储到前一个节点的next域中
q = p; //将q指向新节点
}
q->next = NULL;
return head;
}
//输出链表函数
void printList(struct Node *head){
struct Node *p = head->next; //p指向第1个节点
while(p){
printf("%d ",p->data);
p = p->next; //p指向下一个节点
}
printf("\n");
}
//测试
int main(){
struct Node *head;
int n; //链表节点数
printf("请输入链表节点数:");
scanf("%d",&n);
head = createList(n);
printf("链表的值为:");
printList(head);
return 0;
}
```
以上代码实现了通过创建 `Node` 结构体作为链表节点,通过 `createList` 函数创建链表,并通过 `printList` 函数输出链表的值。
如果您有其他问题或需要更多帮助,请随时提出,我会尽力帮您解决。
阅读全文