簡單順序查詢,有序表的二分查詢,索引順序表的查詢
1 #include "iostream
"2 #include "
iomanip
"3 #include "
time.h
"4 #include "
stdlib.h"5
using
namespace
std;67
#define max 2089
/*10
*簡單順序查詢
11*/
12int seq_search(int a,int n,int
x)13
2425
/*26
*二分查詢
27*/
28int bin_search(int a,int n,int
x)29
42else
43else high = mid -1;47
}48}49 end =clock();
50 cout<
bin_search time:
"<
<
<
51return0;
52}5354
/*55
*索引順序表的查詢
56*/
57int index_serach(int a,int n,int x,int
flags)
5877 i++;78}
79 i=0;80
while(index[i][1];
81if(i+1
<=count)
82else j =n;
85 i = index[i][0
];86
for(;i)
8793
}94 }else
if(flags==0)
104 i++;
105}
106 i=0
;107
while(index[i][1]>x)i++;
108if(i+1
<=count)
109else j =n;
112 i = index[i][0
];113
for(;i)
114120
}121
}122 end =clock();
123 cout<
index list:
"<
124for(i=0;i<=count;i++)
125128 cout<
index_search time:
"<
<
<
129130
return0;
131}
132int
main()
133;
137int b[max]=;
138 cout<
initialize array:
"<
139for(i=0;i)
140144 cout<
145 cout<
seq_search:
"<2]<
146 seq_search(a,max-1,a[2
]);147 cout<
bin_search:
"<2]<
148 bin_search(a,max-1,a[2
]);149
150int
flags;
151 cout<
please input flags:[1,索引表塊內降序降序;0,索引表快內公升序;其他,退出]
"<
152 cout<
flags:";
153while(cin>>flags)
154163 cout<
164 cout<
index_serach:
"<3]<
165 index_serach(a,20,a[3
],flags);
166 cout<
please input flags:[1,索引表塊內降序降序;0,索引表快內公升序;其他,退出]
"<
167 cout<
flags:";
168break
;169
case0:
170for(i=0;i)
171175 cout<
176 cout<
index_serach:
"<4]<
177 index_serach(b,20,b[4
],flags);
178 cout<
please input flags:[1,索引表塊內降序;0,索引表塊內公升序;其他,退出]
順序表的順序查詢和折半查詢
順序查詢 include using namespace std intseqsearch int r,int n,int k return i int main int k cout 請輸入要查詢的數 k for int i 1 i n i cout 該數在陣列中的位置為 cout seqsear...
順序表查詢
一 查詢概論 1 查詢表 查詢表是由同一型別的資料元素或記錄構成的集合。2 關鍵字 關鍵字是資料元素中某個資料項的值,又稱為鍵值,用它可以標識乙個資料元素。也可以標識乙個記錄的某個資料項 字段 稱為關鍵碼。若此關鍵字可以唯一標識乙個記錄,則稱此關鍵字為主關鍵字,所以對於不同的記錄,其主關鍵字是不相同...
順序表查詢
順序查詢又叫線性查詢,是最基本的查詢技術,它的查詢過程是 從表中第乙個 或最後乙個 記錄開始逐個進行記錄的關鍵字和給定值比較,若某個記錄的關鍵字和給定值相等,則查詢成功 如果直到最後乙個 或第乙個 記錄,其關鍵字和給定值比較都不相等時,則表中沒有所查的記錄,查詢不成功。順序查詢的演算法如下 順序查詢...