資料結構 基本查詢方法實現程式代

2021-06-27 23:39:11 字數 2961 閱讀 4968

#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個字母,生成一...