Унифицированный проект, который у меня есть, включает в себя сортировку очень большого набора данных в два разных списка, один из которых содержит набор данных о городе или стране, а другой - те же данные (о городе, на этот раз), но также с некоторыми координатами, например:
//used for cities and countries in the textual mode
typedef struct node{
int year;
int month;
float temp;
char* name;
struct node* next;
struct node* prev;
} node_t;
//used for cities in the graphical mode
typedef struct City{
node_t data;
float latitude;
float longitude;
} City;
Так я это настраиваю, но это не позволяет мне использовать те же функции, потому что у меня есть указатели на «узел», а не «город». Я мог бы сделать их обоих похожими на второй, но поместить в память полмиллиона записей, каждая с двумя пустыми числами с плавающей запятой, было бы отчасти ненужно и проблематично.
Я хочу использовать одни и те же функции для них обоих. Функции - это ваши обычные связанные списки, такие как сортированная вставка и тому подобное. Я пытался использовать пустые указатели раньше, приводя их по мере необходимости, но это означает, что мои функции должны состоять из двух частей.
Я хочу изменить структуру своих структур, чтобы они позволяли мне использовать одни и те же функции просто, без необходимости приведения или, по крайней мере, с минимальными.
Они очень похожи, как вы можете видеть, но ничего не приходит на ум. Любые идеи очень приветствуются. Ура!