그래서, 나는 기능이 있습니다. Hashtable
에 숫자를 삽입하려면 어떻게해야합니까? 테이블의 크기까지가는 for
? for
이있는 경우 어떤 내용이 들어 있는지 알 수 없습니다.C에서 Hashtable의 삽입 기능
#include <stdio.h>
//Structure
typedef struct Element {
int key;
int value;
} Element;
typedef struct HashTable {
Element *table[11];
} HashTable;
//Create an empty Hash
HashTable* createHashTable() {
HashTable *Raking = malloc(sizeof(HashTable));
int i;
for (i = 0; i < 11; i++) {
Raking->table[i] = NULL;
}
return Raking;
}
//Insert element
void insertElement(HashTable *Raking, int key, int value) {
int h = hashFunction(key);
while(Raking->table[h] != NULL) {
if(Raking->table[h]->key == key) {
Raking->table[h]->value = value;
break;
}
h = (h + 1) % 11;
}
if(Raking->table[h] == NULL) {
Element *newElement = (Element*) malloc(sizeof(Element));
newElement->key = key;
newElement->value = value;
Raking->table[h] = newElement;
}
}
int main() {
HashTable * Ranking = createHashTable();
/** ??? **/
}
누군가이 구조로 내 주요 기능을 쓰는 방법을 설명해 주시겠습니까? 이 경우이 테이블의 요소 수를 수정합니다. 맞습니까? (table [11]) 사용자가 해시 테이블의 크기를 결정하기 위해 무엇을 할 수 있습니까? 그것은 가능한가? 또는 크기를 설정해야합니까?
는'hashFunction (키) 아니다''hashFunction (chave를) '로 가정 (또는'함수 인수에 key''로 번역 할 chave' 안)? 이 컴파일합니까? – tay10r
번역 오류입니다. 죄송합니다. 이미 편집했습니다! 그리고 주요 기능이 완료되지 않았기 때문에 아직 컴파일하지 않습니다. – U23r
번역하는 동안 구문 오류가 발생했습니다. 문제를 해결하십시오. 해시 함수에 대한 구현을 보여줄 수도 있습니다. 유용 할 수 있습니다. – tay10r