Berikut adalah contoh referensi jawaban lengkap yang memenuhi seluruh kriteria (menggunakan Modulus 3 dan Insert First pada DLL):
cpp
#include <iostream>
using namespace std;
struct Mahasiswa {
int nim;
string nama;
char jk;
string prodi;
float ipk;
Mahasiswa *prev;
Mahasiswa *next;
};
const int SIZE = 3;
Mahasiswa* HashTable[SIZE];
void InitHash() {
for (int i = 0; i < SIZE; i++) {
HashTable[i] = NULL;
}
}
int HashFunction(int nim) {
return nim % SIZE;
}
{
Mahasiswa *P = Mahasiswa;
P->nim = nim;
P->nama = nama;
P->jk = jk;
P->prodi = prodi;
P->ipk = ipk;
P->prev = ;
P->next = ;
index = (nim);
(HashTable[index] == ) {
HashTable[index] = P;
} {
P->next = HashTable[index];
HashTable[index]->prev = P;
HashTable[index] = P;
}
}
{
();
(, , , , );
(, , , , );
(, , , , );
(, , , , );
cout << << endl;
;
}