Viết chương trình Từ điển sử dụng cấu trúc bảng băm với các chức năng sau
• Thêm một từ mới
• Tra từ
• Cập nhật từ (sửa đổi nội dung)
• Xoá từ
CHƯƠNG TRÌNH MINH HỌA BẢNG BĂM DÙNG PHƯƠNG PHÁP DÒ TUYẾN TÍNH, GIÁ TRỊ LƯU TRỮ LÀ SỐ NGUYÊN
C Code:
- #include<stdio.h>
- #include<conio.h>
- #define M 11 // khai bao kich thuoc bang bam
- #define NULLKEY -365 // khai bao nut rong co gia tri la -365
- #define TRUE 1
- #define FALSE 0
- int BangBam[M]; // tao bang bam voi kich thuoc M
- int SoNut; // so nut cua bang bam
- int HamBam(int k)
- {
- return k%M;
- }
- void KhoiTaoBangBam()
- {
- for(int i=0;i<M;i++)
- BangBam[i]=NULLKEY;
- }
- int Full() // kiem tra xem bang bam da day hay chua?
- {
- if (SoNut==M-1) return TRUE;
- else return FALSE;
- }
- int Search(int k) // tim kiem khoa K co o trong bang bam hay khong?
- {
- int i=HamBam(k);
- while (BangBam[i]!=k && BangBam[i]!=NULLKEY)
- {
- i++;
- if (i>=M) i=i-M;
- }
- if (BangBam[i]==k) return i;
- else return M;
- }
- int ThemPhanTu(int k) // them khoa k vao bang bam
- {
- int i,j;
- if (Full())
- {
- return 0;
- }
- i=HamBam(k);
- while (BangBam[i]!=NULLKEY)
- {
- i++;
- if (i>=M) i=i-M;
- }
- BangBam[i]=k;
- SoNut++;
- return i;
- }
- void InBangBam()
- {
- for(int i=0;i<M;i++)
- if (BangBam[i]!=NULLKEY)
- else
- }
- void main()
- {
- clrscr();
- int khoa_nhap,khoa_tim;
- KhoiTaoBangBam();
- for(int i=0;i<M-1;i++)
- {
- ThemPhanTu(khoa_nhap);
- }
- InBangBam();
- int result=Search(khoa_tim);
- getch();
- }
Source code[Đồ án-C#]:
Liên hệ: vuthanhnam94@gmail.com
Tags:
Source Code