#include
#include
#include
#include
const int maxsize=31;
typedef struct
//順序表的定義
seqlist;
seqlist list;
typedef struct
//索引表的定義
idtable;
idtable id[maxsize];
typedef struct bitnode
bitnode,*bitree;
void main()
} showface_1();break;
case '2': showface_3(); //
功能介面
(face_3)
while(1)
} showface_1();break;
//中級查詢
default : cout<<"
輸入操作錯誤
!!!"<
cout<<"
請重新輸入
:"; }
} return;
}
void found_list()
void del_list()
else
if(ch=='n'||ch=='n') cout<<"
刪除失敗
!!!"<
return;
} }
} void show_list()
void seq_search()
cout<
return;
} else cout<<"
查詢失敗
!!!"<}
void binsearch()
else
if(finddata>list.data[mid])
low=mid+1;//
查詢在右半區進行
if(finddata high=mid-1;//
查詢在左半區進行
} }
} void insert_search()
else
if(finddata>list.data[mid])
low=mid+1;//
查詢在右半區進行
if(finddata high=mid-1;//
查詢在左半區進行
} }
} int fbnq(int num)
void fbnq_search()
} cout<<"
該組資料能使用
fbnq
查詢!!!"<
cout<<"
請輸入查詢資料
:";
cin>>finddata;
high=fbnq(f_num)-1;
f_len=fbnq(f_num)-1;f_mid=fbnq(f_num-1)-1;//f_len
為表長,f_mid
為取中點的相對偏移量
while(1)
else
if(finddata>list.data[mid])
if(finddata
x=f_mid;f_mid=f_len-f_mid-1;
f_len=x;
high=mid-1;//
查詢在左半區進行
} }
} }void block_search()
for(i=0;i
for(int j=1+id_c*i;j<=id_c*(i+1);j++)
if(max
id[i].m_value=max;
} cout<<"
請輸入查詢資料
:";
cin>>finddata;
low1=0;high1=k-1;
while(low1<=high1)
if(low1
low2=id[low1].startaddress;
if(low1==k-1) high2=list.last-1;
else
high2=id[low1+1].startaddress-1;
} for(i=low2;i<=high2;i++)
if(list.data[i]==finddata)
cout<<"
查詢失敗
!!!"< return; }
//bitree
void insert_bst(bitree &t,bitree new)
bitree creat_bst()
return t; }
void show_preorder(bitree t)
//遞迴呼叫的結束條件
cout//訪問結點的資料域
show_preorder(t->lchild);
show_preorder(t->rchild); }
void search_bst(bitree t,int finddata)
else if(!t&&t->data==finddata)
void del_bst(bitree t,int c);
system("cls");
//清屏
for(int i=24;i>0;i--) }
void showface_2(void);
system("cls");
for(int i=24;i>0;i--) }
void showface_3(void);
system("cls");
for(int i=18;i>0;i--) }
資料結構基本查詢演算法
查詢表的概念 由同一型別的資料元素 或者記錄 構成的集合。由於集合中的資料元素之間存在完全鬆散耦合的關係,因此,查詢表是一種非常靈便的資料結構。查詢表的操作 a 查詢某個 特定的 資料元素是否在查詢表中 b 檢索某個 特定的 資料元素的各種屬性 c 在查詢表中插入乙個資料元素 d 從查詢表中刪去某個...
資料結構順序查詢驗證程式
演算法分析 順序查詢是在乙個已知無 或有序 序佇列中找出與給定關鍵字相同的數的具體位置。原理是讓關鍵字與佇列中的數從最後乙個開始逐個比較,直到找出與給定關鍵字相同的數為止,它的缺點是效率低下。題目 輸入描述 各個命令以及相關資料的輸入格式如下 第一行輸入關鍵碼集合中關鍵碼的數目,假設輸入的值為n n...
資料結構 各種查詢演算法實現
1 順序查詢 使用陣列或鍊錶結構。用隨機函式生成16個不重複的字母 a z 鍵盤輸入待查詢的字母,返回查詢成功與否,若成功則返回該字母所在的位置 序號 並計算比較次數。2 折半查詢 用陣列實現,查詢前元素先排序。計算比較次數。分別用查詢成功 不成功進行測試。3 二叉查詢樹 手工輸入10個字母,生成一...