입력 파일에서 링크 된 목록으로 읽어야합니다. 파일의 일부는 다음과 같습니다C 링크 된 목록의 버블 정렬
NameA, 25
NameB, 33
NameC라는 이름의 23
, 39
그리고 내가 수 (버블 정렬)으로 정렬하고 서로를 쓸 필요가 후 파일.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct node{
char name[20];
int number;
struct node *next;
struct node *prev;
}*head;
int main(void) {
struct node *temp;
temp = malloc(sizeof(struct node));
temp->next = NULL;
head = temp;
FILE *ifp;
char fnamer[100] = "";
char line[128];
// printf("\n\nPlease Enter the Full Path of the file: \n");
// scanf("%s",&fnamer);
ifp = fopen("mintaadatok.txt", "r");
if (ifp == NULL) {
printf("\n%s\" File NOT FOUND!", fnamer);
exit(1);
}
int c = 0;
char buffer[1024];
memset(buffer, 0, 1024);
while (c < 15) {
fgets(buffer, 1024, ifp);
sscanf(buffer, "%19[^,], %d", temp->name, &temp->number);
printf("%d %s %d\n", c, temp->name, temp->number);
temp->next = malloc(sizeof(struct node));
temp = temp->next;
temp->next = NULL;
c++;
}
int i,step;
for (temp = head; temp; temp = temp->next) {
printf("%s", temp->name);
printf("%d\n", temp->number);
for(step=0;step<10-1;++step)
for(i=0;i<10-step-1;++i)
{
temp->next = malloc(sizeof(struct node));
if(temp->number>temp->next)
{
temp=temp->number;
temp->number=temp->next;
temp->next=temp;
}
}
}
printf("In ascending order: ");
}
당신이 날이 데이터를 정렬하는 데 도움이 있습니다 : 여기
내가 가진 무엇인가? 는
직면 한 문제가 정확히 무엇입니까? –
@AditiRawat 버블이 링크 된 목록을 정렬 할 수 없습니다. – khlan
@coderredoc 예 많은 도움이 될 것입니다. – khlan