Member 13766236 Ответов: 1

Как я могу создать массив связанных списков, которые реализуются с помощью реализации курсора?


у меня есть реализация курсора связанных списков на языке Си, и мне нужно сделать массив связанных списков, используя реализацию курсора, так как мне нужен этот массив для реализации сортировки по радиксу для строк

Что я уже пробовал:

typedef int PtrToNode; // simulates the idea of a pointer
typedef PtrToNode List; //simulates struct List
typedef PtrToNode Position; //simulates node*

typedef struct{
 char Element[50];
 Position Next; //simulates node * next
}Node;

///1. Create an array of pointer of node type
Node* buckets[27];


///функция сортировки по радиусу, которая должна иметь массив связанных списков
void Radix_Sort( char names[5][5],int max){
int i,j;

///1.initialize buckets
for(i=0;i<27;i++){
        buckets[i]=NULL;
}

///.2

    
 }   



}

OriginalGriff

И что же?
А что вы пробовали?
Где ты застрял?
Какая помощь вам нужна?

Member 13766236

Я застрял в том, как сделать и инициализировать этот массив курсора

Rick York

Вы продолжаете использовать слово "курсор" - какое это имеет отношение к курсору?

Во всяком случае, посмотрите на колонку "связанные вопросы" справа. Несколько лет назад кто-то задал практически тот же вопрос о домашнем задании. Вы можете найти обсуждение полезным.

1 Ответов

Рейтинг:
5

KarstenK

Вы должны понимать концепцию связанных списков и курсоров и использовать указатели. Курсор-это только указатель на фактический элемент. Смотрите также голова и хвост.

В статье Как создать связанный список с помощью C/C++ все описано, поэтому читайте и разбирайтесь во всей статье.

typedef struct Node{
 char text[50];
 Node* next; //used as a pointer to next node * next
};

Node *node1 = new Node;//allocate memory 
strcpy(node1->text, "This is node 1");
//
Node *node2 = new Node;
strcpy(node1->text, "This is node 2");
node2->next = node1;//link them