//演算法功能: 分別按序號和按內容在順序表中查詢元素
//演算法思路:
//getelem(sqlist &l, int i)查詢順序表l中第i個資料元素,直接在表中定位,並返回l.elem[i-1]
//locateelem(sqlist &l, elemtype e)查詢順序表l中與給定值e相等的資料元素,若找到
//與e相等的第1個元素則返回該元素在順序表中的序號;否則查詢失敗返回0
#include
#include
#define overflow -2
#define ok 1
#define error 0
#define list_init_size 100
#define listincrement 10
typedef int elemtype;
typedef int status;
//定義順序表儲存結構
typedef struct
sqlist;
//初始化順序表
status initlist_sq(sqlist &l)
//建立順序表
void create_sqlist(sqlist &l)
l.elem[i++] = c;
}l.length = i;
printf("輸入的順序表元素是:\n");
for(i = 0; i < l.length; i++) //輸出新建順序表
printf("%d ", l.elem[i]);
printf("\n");
}//返回指定位置的元素
elemtype getelem(sqlist &l, int i)
//定位指定元素,如果有,返回第乙個匹配的元素的位置
int locateelem(sqlist &l, elemtype e)
int main()
create_sqlist(l);
//按序號查詢
printf("輸入查詢的位置:");
scanf("%d", &location);
while(location > l.length+1 || location < 1)
printf("第%d個元素是: %d\n", location, getelem(l, location));
//按內容查詢
printf("輸入查詢的元素:");
scanf("%d", &element);
if(!locateelem(l, element))
printf("該順序表中沒有%d這個元素。\n", element);
else
printf("%d在順序表中是第%d個元素\n", element, locateelem(l, element));
return 0;
}
順序表查詢指定元素
問題描述 本題要求實現乙個函式,要求從順序表中查詢指定元素,並返回第乙個查詢成功的元素在表中的位置序號,若查詢失敗,則返回0 函式介面定義 int locateelem sqlist l,elemtype e 其中sqlist結構定義如下 typedef structsqlist 裁判測試程式樣例 ...
元素的查詢 順序查詢
靜態查詢 方法一 對於未排序的資料 順序查詢 方法二 排好次序的資料 二分法查詢 順序查詢中分為有 哨兵 的方法和無 哨兵 的方法。方法一 順序查詢 有 哨兵 的順序查詢如下 1.思路 1 初始化建立儲存資料的結構體list 2 給靜態陣列賦初值tb.elem i 3 建立乙個 哨兵 即tb.ele...
順序表查詢
一 查詢概論 1 查詢表 查詢表是由同一型別的資料元素或記錄構成的集合。2 關鍵字 關鍵字是資料元素中某個資料項的值,又稱為鍵值,用它可以標識乙個資料元素。也可以標識乙個記錄的某個資料項 字段 稱為關鍵碼。若此關鍵字可以唯一標識乙個記錄,則稱此關鍵字為主關鍵字,所以對於不同的記錄,其主關鍵字是不相同...