将文件直接输入到链式表的代码
时间: 2023-05-21 22:05:42 浏览: 74
读文件到链表
这是一个常见的问题,我可以为您提供一份示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node* next;
};
struct Node* createNode(int data) {
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
newNode->data = data;
newNode->next = NULL;
return newNode;
}
void insertNode(struct Node** headRef, struct Node* newNode) {
newNode->next = *headRef;
*headRef = newNode;
}
int main() {
struct Node* head = NULL;
FILE* fp = fopen("input.txt", "r");
int num;
while (fscanf(fp, "%d", &num) != EOF) {
struct Node* newNode = createNode(num);
insertNode(&head, newNode);
}
fclose(fp);
return 0;
}
```
将文件内容输入到链式表中的基本思路是:从文件中读取每个数据,然后创建一个链表节点,将该节点插入到链表的头部。上述代码用 fopen() 函数打开名为 input.txt 的文件,然后读取文件中的每个整数,分别创建一个新节点,将其插入到链表的头部。下面的代码演示了如何使用这个程序来处理一个输入文件:
input.txt
```
5 8 13 34 21 2 1
```
可以在终端中输入以下命令来运行程序:
```
$ gcc -o main main.c
$ ./main
```
运行后,程序会读取 input.txt 文件中的数字,并将它们插入到链表中,然后将链表的内容输出到控制台。
阅读全文