DS靜態查詢之順序查詢
題目:
問題 A: DS靜態查詢之順序查詢
時間限制: 1 Sec 記憶體限制: 128 MB
提交: 335 解決: 301
[提交][狀態][討論版]
題目描述
給出一個佇列和要查詢的數值,找出數值在佇列中的位置,佇列位置從1開始
要求使用帶哨兵的順序查詢演算法
輸入
第一行輸入n,表示佇列有n個資料
第二行輸入n個資料,都是正整數,用空格隔開
第三行輸入t,表示有t個要查詢的數值
第四行起,輸入t個數值,輸入t行
輸出
每行輸出一個要查詢的數值在佇列的位置,如果查詢不成功,輸出字串error
樣例輸入
8
33 66 22 88 11 27 44 55
3
22
11
99
樣例輸出
3
5
error
程式碼塊:
#include <iostream>
using namespace std;
class SSTable
{
int *elem;
int length;
public:
SSTable();
~SSTable();
void InitSSTable();
void Search_Seq();
};
SSTable::SSTable()
{
cin>>length;
elem = new int[length+1];
}
SSTable::~SSTable()
{
delete []elem;
}
void SSTable::InitSSTable()
{
elem[0] = 0;
for(int i=1; i<=length; i++)
cin>>elem[i];
}
void SSTable::Search_Seq()
{
cin>>elem[0];
int i = length;
while(elem[i]!=elem[0])
i--;
if(i==0)
cout<<"error"<<endl;
else
cout<<i<<endl;
}
int main(void)
{
SSTable myTable;
myTable.InitSSTable();
int t;
cin>>t;
while(t--)
myTable.Search_Seq();
return 0;
}
相關文章
- 順序查詢
- 查詢(1)--靜態查詢
- DNS查詢順序DNS
- 順序查詢和二分查詢
- #查詢演算法#【1】簡單查詢:順序、折半查詢演算法
- MySQL之SQL邏輯查詢順序MySql
- MySQL 查詢處理 SQL查詢執行順序MySql
- DNS查詢順序以及方式DNS
- 如何找東西?查詢演算法之順序查詢和二分查詢詳解演算法
- 查詢演算法集:順序查詢、二分查詢、插值查詢、動態查詢(陣列實現、連結串列實現)演算法陣列
- 【層次查詢】Hierarchical Queries之處理順序
- 順序表應用6:有序順序表查詢
- MySQL 查詢常用操作(0) —— 查詢語句的執行順序MySql
- 資料結構之查詢(順序、折半、分塊查詢,B樹、B+樹)資料結構
- 靜態方法查詢類名
- MySQL 查詢中保留 IN 中的順序MySql
- 查詢處理的邏輯順序
- 66.《ds---查詢》
- 查詢(2)--動態查詢
- MySQL 並列排名和順序排名查詢MySql
- 查詢之折半查詢
- javascript資料結構之順序查詢簡單介紹JavaScript資料結構
- 【筆記】靜態查詢演算法筆記演算法
- SQL 查詢語句的執行順序解析SQL
- 5-順序表查詢及插入問題
- T-sql語句查詢執行順序SQL
- 分塊查詢【大規模資料查詢演算法優化】【索引順序查詢】演算法 PHP 版演算法優化索引PHP
- 【SQL查詢】集合查詢之INTERSECTSQL
- SQL邏輯查詢處理順序特別提醒SQL
- Oracle 優化器與sql查詢執行順序Oracle優化SQL
- pgsql查詢優化之模糊查詢SQL優化
- jpa動態查詢與多表聯合查詢
- Oracle 最佳化器與sql查詢執行順序OracleSQL
- MYSQL學習筆記11: DQL查詢執行順序MySql筆記
- MySQL之連線查詢和子查詢MySql
- select查詢之四:連線查詢
- Hive之Hive快捷查詢(避免Mapruduce查詢)Hive
- 閃回查詢之閃回版本查詢