Използване на сортиране чрез вмъкване на двойно свързани списъци и запис във файл

Работя върху двойно свързан списък, който ще чете вход от файл (in.txt), ще съхранява информацията в двойно свързан списък, ще използва сортиране чрез вмъкване, за да сортира всички възли в свързания списък и след това ще отпечата сортирания списък към файл, който ще бъде създаден, наречен out.txt

Входният файл е форматиран като:

Идентификатор на ученик Име Фамилия Среден успех на отдел (с произволно количество интервали)

И изходният файл трябва да бъде форматиран като:

ID на студент, собствено име, фамилия, катедра, GPA (само със запетаи, разделящи елементите)

StudentID е 7-цифрено цяло число, GPA е float между 0 и 4, останалите са символни низове. Сортирането се извършва изключително по номера на StudentID и няма два еднакви номера на StudentID.

Имам всичко почти работещо с този код:

Проблемът е, че изходният файл не показва нищо. Вярвам, че проблемът е в моята функция remove_node, но не съм сигурен. Всяка помощ ще бъде много ценена.


person Not_NSA_I_Swear    schedule 29.01.2015    source източник
comment
Проверих вашия код с два входа като във въпроса, който работи добре.   -  person Karthikeyan.R.S    schedule 29.01.2015
comment
Не го получавам по някаква причина. Получавам празен изходен файл. Някой друг?   -  person Not_NSA_I_Swear    schedule 29.01.2015


Отговори (2)


Вашето сортиране на вмъкване има "remove_node" в него. Сортирането не трябва да премахва никакви възли.

person Marichyasana    schedule 29.01.2015
comment
Премахвам го само временно, за да мога да го върна където му е мястото. Опитвам се да направя сортиране на вмъкване. - person Not_NSA_I_Swear; 29.01.2015
comment
Но тогава трябва да имате add_node, за да го поставите обратно, а вие не го правите. - person Marichyasana; 29.01.2015
comment
но все пак го правя. Премахвам го от списъка, купете, запазете препратка към него като възел. След това го поставям до мястото, където указателят на Temp спира в цикъла while. - person Not_NSA_I_Swear; 29.01.2015

person    schedule
comment
Това изглежда има смисъл, тъй като щях да направя същото с node=holder и след това node = node-›next. Това ли беше единственият проблем, който видяхте? - person Not_NSA_I_Swear; 29.01.2015