basit bir computed chaining rneğidir. c ile kodlanmıştır. isteyenlere c++ ile de kodlayabilirim. işinize yaraması dileğimle. #include "stdafx. h"#include "stdlib. h"#include <stack>using std::stack;void insert ;int hash ;int increment ;int search ;void print ;void packingFactorCalculate ;int resizeTable ;void del ;int tableSize = 11; //this is a global variable for table sizedouble packingFactor = 0;int _tmain { int numbers; numbers = malloc(sizeof 2); numbers = malloc(tableSize sizeof ; numbers = malloc(tableSize sizeof ; int number; int i = 0; for(int i = 0; i<tableSize; i++) printf("Table size is 11 for begining!!\n \n"); while(1) { printf("\n1-Insert \n2-Search\n3-Delete\n4-Exit - > "); scanf ; if(number 1) { printf ; scanf ; insert ; packingFactorCalculate ; printf ; if(packingFactor >= 0.95) print ; } else if (number 2) { printf ; scanf ; number = search ; if(number!= -1) else } else if(number 3) else if(number 4) } return 0;}int resizeTable { int nextPrime = tableSize; int i, j; int counter = 0; for(i = tableSize +1; i<99999; i++) { counter = 0; for(j = 2; j<tableSize; j++) { if(i%j 0) } if(counter 0) } int newNumbers; newNumbers = malloc(sizeof 2); newNumbers = malloc(tableSize sizeof ; newNumbers = malloc(tableSize sizeof ; for( i = 0 ; i<tableSize; i++) for(i = 0; i<counter;i++) free ; return newNumbers;}void print { int i = 0; printf ; for( i = 0; i<tableSize; i++) }void packingFactorCalculate { int i = 0; int counter = 0; for(i = 0;i<tableSize;i++) packingFactor = counter / tableSize;}void insert { int hashAddress = hash ; if(search != -1) if(numbers -1 || numbers -2) else { int incr = 1; int preAddress = hashAddress; int nextAddress = (hashAddress + increment(numbers incr))%tableSize; if(hash(numbers , tableSize) != hashAddress) { int hashAddresOfRecordNotAtHomeAddress = hash(numbers , tableSize); int nextHashAddressForReplacement = hashAddresOfRecordNotAtHomeAddress; int counter = 1; while(1) //counts number of chain elements { if(numbers != -1) else } int numbersTemp; numbersTemp = malloc(sizeof counter); hashAddresOfRecordNotAtHomeAddress = hash(numbers , tableSize); nextHashAddressForReplacement = hashAddresOfRecordNotAtHomeAddress; counter = 0; while(1) numbers = number; hashAddresOfRecordNotAtHomeAddress = hash(numbers , tableSize); nextHashAddressForReplacement = hashAddresOfRecordNotAtHomeAddress; for(int i = 0; i<counter; i++) free ; } else { nextAddress = hashAddress; preAddress = hashAddress; incr = 1; while(numbers != -1) nextAddress = preAddress; while(1) { nextAddress = (preAddress + increment(numbers ) incr)%tableSize; if(numbers != -1 && numbers != -2) else } / while(1) { if(numbers -1 || numbers -2) else { if(numbers != -1) else { incr = 1; temp = nextAddress; while(1) } } } / } }}int search { int hashAddress = hash ; if(numbers number) else { int nextAddress = (hashAddress + increment(numbers ) numbers ) % tableSize; while (1) { if(numbers number) else if(numbers -1) else } }}int hash int increment void del "Ardıma dnüp bakıyorum da, dallarımı kıran rüzgarları bile affetmişim ama, bir kendime uzanamamış elim.." Ahmet Haşim