📄 07_02.c
字号:
/* 本程序从正文文件test.txt中读入一批整数,并将它们按照递增的顺序存放在一个链表中。
其中,函数insertChain(struct Link*head,struct Link*k)用来寻找结点k在链表head中
的插入位置,并插入该结点。*/
#include <stdio.h>
#include <stdlib.h>
struct Link {
int number;
struct Link *next;
};
struct Link * insertChain(struct Link *head, struct Link *k);
void main()
{ struct Link *ptr, *head;
FILE *fd;
int hum;
if((fd=fopen("test.txt","r"))==NULL)
{ /*打开一个文件 */
printf("Cannot open this file!\n");
return ;
}
head = NULL;
while(fscanf(fd, "%d", &hum) == 1)
{
/*ptr = __(1)__;*/
ptr=(struct Link *)malloc (sizeof (struct Link));
if (!ptr) return;
ptr->number = hum;
ptr->next = NULL;
head = insertChain(head, ptr);
}
/*__(2)__;*/
fclose(fd);
return ;
}
struct Link * insertChain(struct Link *head, struct Link *k)
{ struct Link *ptr, *u;
ptr = head;
while (ptr&&(k->number > ptr->number))
/*{ u =ptr; __(3)__; }*/
{ u =ptr; ptr = ptr->next; }
if(ptr == head) head = k;
/*else __(4)__*/
else u->next=k ;
/*__(5)__;*/
k ->next=ptr;
return head;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -