1.二分查詢
實現方式1:形參是陣列,實參是陣列名,使用陣列元素直接訪問方式實現。
#include constint n=5
;int binarysearch(int x, int n, int
item);
intmain() ;
inti,index, key;
printf(
"陣列a中的資料:\n");
for(i=0;i)
printf(
"%d
",a[i]);
printf("\n
");printf(
"輸入待查詢的資料項: ");
scanf("%d
", &key);
index=binarysearch(a,n,key) ;
if(index>=0
) printf(
"%d在陣列中,下標為%d\n
", key, index);
else
printf(
"%d不在陣列中\n
實現方式2:形參是指標變數2,實參是陣列名,使用指標變數間接訪問方式實現。
補足line20和line45
#include constint n=5
;int binarysearch(int *x, int n, int
item);
intmain() ;
inti,index, key;
printf(
"陣列a中的資料:\n");
for(i=0;i)
printf(
"%d
",a[i]);
printf("\n
");printf(
"輸入待查詢的資料項: ");
scanf("%d
", &key);
index=binarysearch(a,n,key);
if(index>=0
) printf(
"%d在陣列中,下標為%d\n
", key, index);
else
printf(
"%d不在陣列中\n
2.選擇排序法
#include #includevoid selectsort(char str[20], int
n );
//函式宣告,形參str是二維陣列名
intmain()
;
inti;
printf(
"輸出初始名單:\n
");
for(i=0; i<5; i++)
printf(
"%s\n
", name[i]);
selectsort(name,
5);
//呼叫選擇法對name陣列中的字串排序
printf("
按字典序輸出名單:\n
");
for(i=0; i<5; i++)
printf(
"%s\n
", name[i]);
return
0; }
//函式定義
//函式功能描述:使用選擇法對二維陣列str中的n個字串按字典序排序
3.用指標處理字串
練習1
#include void delprefixstar(char ); //函式宣告(函式宣告中可以省略陣列名不寫)
int main()
//函式定義
//函式功能描述
//刪除字元陣列s中前導*
實驗總結和體會:
1.二分法查詢演算法:陣列名作為引數與指標變數作為引數:
形參陣列名用int a,指標變數用int*p;實參陣列名用suma[i],指標變數用*(p+1)。。。
陣列元素表示陣列名用啊a[i],指標變數用*(p+1)
2.其他總結也不好說了,,,感覺還是不懂,雲裡霧裡的。指標好難。
實驗5 陣列和指標
實現方式1 形參是陣列,實參是陣列名,使用陣列元素直接訪問方式實現 程式原始碼檔案ex1 1.cpp 以下是補全程式ex1 1.cpp之後的程式原始碼 練習 使用二分查詢,在一組有序元素中查詢資料項 形參是陣列,實參是陣列名 include const int n 5 int binarysearc...
5 陣列指標和指標陣列
陣列指標,從字面意思來看就是 指向陣列的指標 定義 int p n 優先順序高,首先說明p是乙個指標,指向乙個整型的一維陣列,這個一維陣列的長度是n,也可以說是p的步長。也就是說執行p 1時,p要跨過n個整型資料的長度。如要將二維陣列賦給一指標,應這樣賦值 int a 3 4 int p 4 該語句...
實驗5 陣列和函式
實驗任務1 include const int n 3 int main inti printf 通過陣列名及下標直接訪問陣列元素 n for i 0 i printf d d n a i a i printf 通過位址間接訪問陣列元素 n for i 0 i printf d d n a i,a ...