c语言从文件中读取信息到单链表,把单链表存储到文件中的算法设计
时间: 2024-01-11 16:04:42 浏览: 78
c语言单链表实现通讯录,支持保存数据到文件加载数据到文件
以下是C语言从文件中读取信息到单链表,把单链表存储到文件中的算法设计:
1. 定义一个单链表结构体,包含数据域和指针域。
```
struct node {
int data;
struct node *next;
};
```
2. 定义一个函数,用于从文件中读取信息到单链表。该函数需要打开文件、读取数据并将数据插入单链表中。
```
void read_file_to_list(char *filename, struct node **head) {
FILE *fp;
int data;
struct node *p, *q;
fp = fopen(filename, "r");
if (fp == NULL) {
printf("Cannot open file!\n");
return;
}
*head = NULL;
while (fscanf(fp, "%d", &data) != EOF) {
p = (struct node *)malloc(sizeof(struct node));
p->data = data;
p->next = NULL;
if (*head == NULL) {
*head = p;
} else {
q->next = p;
}
q = p;
}
fclose(fp);
}
```
3. 定义一个函数,用于将单链表存储到文件中。该函数需要打开文件、遍历单链表并将数据写入文件中。
```
void write_list_to_file(char *filename, struct node *head) {
FILE *fp;
struct node *p;
fp = fopen(filename, "w");
if (fp == NULL) {
printf("Cannot open file!\n");
return;
}
for (p = head; p != NULL; p = p->next) {
fprintf(fp, "%d ", p->data);
}
fclose(fp);
}
```
4. 在主函数中调用上述函数,实现从文件中读取信息到单链表,并将单链表存储到文件中。
```
int main() {
struct node *head;
read_file_to_list("input.txt", &head);
write_list_to_file("output.txt", head);
return 0;
}
```
以上就是C语言从文件中读取信息到单链表,把单链表存储到文件中的算法设计。
阅读全文