如何用c语言设计程序创建一个单向链表,并输出链表中数据。要求:从键盘输入元素的值,并在此基础上实现元素插入、删除及按值查找的功能。
时间: 2024-02-12 12:07:38 浏览: 75
好的,我来介绍一下如何用 C 语言设计程序创建一个单向链表,并输出链表中数据。同时,我也会提供一些基本的代码实现,但不会涉及到元素插入、删除及按值查找的具体实现,你可以再根据需求进行扩展。
首先,我们需要定义链表节点的结构体,包括节点的数据域和指向下一个节点的指针域:
```c
typedef struct node{
int data;
struct node *next;
}Node;
```
接着,我们需要定义链表的头结点,作为链表的入口:
```c
Node *head = NULL;
```
然后,我们可以编写一个函数来创建链表,从键盘输入元素的值,并在此基础上实现链表的创建:
```c
void createList(){
int num;
Node *tail = NULL;
printf("请输入链表中的元素,以-1结束:\n");
do{
scanf("%d", &num);
if(num != -1){
Node *newNode = (Node*)malloc(sizeof(Node));
newNode->data = num;
newNode->next = NULL;
if(head == NULL){
head = newNode;
tail = head;
}
else{
tail->next = newNode;
tail = newNode;
}
}
}while(num != -1);
}
```
上述代码中,我们使用了 do-while 循环来实现链表的创建,当输入 -1 时,表示链表的创建结束。在循环中,我们通过动态内存分配来创建新的节点,并通过指针来连接节点。
最后,我们可以编写一个函数来输出链表中的数据:
```c
void printList(){
Node *p = head;
printf("链表中的元素为:\n");
while(p != NULL){
printf("%d ", p->data);
p = p->next;
}
printf("\n");
}
```
上述代码中,我们使用了 while 循环来遍历链表,从头结点开始依次输出节点中的数据。
至此,我们已经完成了用 C 语言设计程序创建一个单向链表,并输出链表中数据的操作。如有需要,你可以在此基础上进行元素插入、删除及按值查找的功能实现。
阅读全文