hari ini waktu na UAS Algoritma N Struktur data. . . . TA uda slese . . . itu pun ngerjanya dibantu ma temen, sementara karang Ujian Praktikum na. . . pa bs dibantu ma temen lagi yap . . .hehehehe. tp ky na uda gak bs ngnadelin bantuan temen nich. . . . ya pasrah za ez karang. . . .sambil nunggu detik-detik ujian dimulai. . . hehehe. . .ky pa za. . .
lbh baeg ngepost. . . .tp binun apa yang mau dipostingin . . . .
nich kepikiran ngepostingin tugas Akhirku aja. . . . may be, ntar ya yang butuh buad referensi . . .
tugas qu nich judulnya Penerapan Program Hashing Folding Dan Chaining . . . . .
// program hashing folding and chaining
#include
#include
#include
#include
#include
#include
const int MAX = 9;
typedef struct Node
{
int data;
Node* Prev;
Node* Next;
};
Node* hashTable[MAX]={NULL};
Node* top[MAX]={NULL};
//mendelarasikan peletakan record pada hash tabel
const int generate_hash_fold(const int data)
{
//mengubah inputan menjadi basis 8
int digit1;
int digit2;
int digit3;
int digit4;
int digit5;
int data_mod1;
int data_mod2;
int data_mod3;
int data_mod4;
int data_mod5;
int key;
int hashfold;
digit1 = data%10;
data_mod1 = floor(data/10);
digit2 = data_mod1%10;
data_mod2 = floor(data_mod1/10);
digit3 = data_mod2%10;
data_mod3 = floor(data_mod2/10);
digit4 = data_mod3%10;
data_mod4 = floor(data_mod3/10);
digit5 = data_mod4%10;
data_mod5 = floor(data_mod4/10);
key = digit1+digit3+digit5;
hashfold = key%10;
return (hashfold);//yaitu nilai terakhir dari data yang diubah menjadi basis 8
}
void insertData()
{
int data;// basis8;
cout<<"\nINSERT data\n"; cout<<"\n\nInput data : "; cin>>data;
int index=generate_hash_fold(data);
Node* input=new Node;
if(!input)
{
cout<<"Mistake : \nCann't will alocation new data.\n"<
input->Next=NULL;
input->Prev=NULL;
hashTable[index]=input;
top[index]=input;
}
else
{
input->data=data;
input->Next=NULL;
input->Prev=top[index];
top[index]->Next=input;
top[index]=input;
}
cout<<"Press any key to back MAIN MENU !\n"<
Print=Print->Next;
if(Print!=NULL)
cout<<", "; } cout<
int flag=0;
int index=generate_hash_fold(data);
Node* Print=hashTable[index];
if(Print!=NULL)
{
while(Print!=NULL)
{
if(Print->data==data)
flag++;
Print=Print->Next;
}
if(flag)
cout<<"Data find, totaling :"<
int flag=0;
int index=generate_hash_fold(newdata);
Node* Print=hashTable[index];
if(Print!=NULL)
{
while(Print!=NULL)
{
if(Print->data==newdata)
{
if(Print->Prev==NULL)
{
Node* Temp=Print->Next;
hashTable[index]=Temp;
delete Print;
Print=Temp;
}
else if (Print->Next==NULL)
{
top[index]=Print->Prev;
top[index]->Next=NULL;
delete Print;
Print=top[index];
}
else
{
Node* TempPrev=Print->Prev;
Node* TempNext=Print->Next;
TempPrev->Next=TempNext;
TempNext->Prev=TempPrev;
delete Print;
Print=TempNext;
}
flag++;
}
else
Print=Print->Next;
}
if (flag==1)
cout<<"Data Already deleted !\n\n"; } if (flag==0) cout<<"Sory, data cann't find !\n"; cout<<"Pres any key to back MAIN MENU !\n"<
if(opsi==1)
insertData();
else if(opsi==2)
searchData();
else if(opsi==3)
printData();
else if(opsi==4)
deleteData();
else if(opsi==0)
break;
else
goto first;
}
while(opsi!=99);
}
Tidak ada komentar:
Posting Komentar
anybody yang mau komentar no problem, gak masalah smua .
monggo komentar. . . . .