陣列
陣列的基本概念:把具有相同型別的若干變數按有序的形式組織起來。這些按序排列的同類資料元素的集合稱為陣列。
特點:只能存放一種型別的資料,如全部是int型或者全部是char型,陣列裡的資料成為元素。
陣列的分類:
按儲存的內容分類:數值陣列、字元陣列、指標陣列、結構陣列
按維度分類:一維陣列、二位陣列、三維陣列
陣列的定義:
格式: 型別 陣列名[元素個數];
例:int arr[3]=;
遍歷陣列:
for(int i=0;i<5;i++)
陣列的初始化:
1)int arr[5]=; //一般寫法
2)int arr[5]=; //只對前兩個元素賦值
3)int arr[5]=; //對指定的元素賦值,這裡為第三個和第四個
4)int arr=; //正確,右邊的元素確定,則個數可以省略這裡為3個。
5)int arr; //錯誤,編譯器無法知道應該分配多少的儲存空間
6)int arr[5];arr=; //錯誤,只能在定義陣列時這樣進行初始化
7)int arr[『a』]=; //正確,相當於是arr[65]
計算陣列元素:
當陣列長度不確定時,使用sizeof
sizeof運算子可以計算出指定型別的變數所占用得位元組數。
陣列元素作為函式引數:
陣列用作函式引數有兩種形式:
一種是把陣列元素作為實參使用:
陣列元素就是下標變數,它與普通變數無區別。
一種是把陣列名作為函式的引數:
1) 用陣列元素作為函式引數不要求形參也必須是陣列元素,但是用陣列名作為函式引數時
則要求形參和相對應的實參都必須是相同型別的陣列。
2) 陣列名作為函式的引數時,實參與形參之間是位址傳遞
3) 在變數作為函式引數是,所進行的值傳遞是單向的
多維陣列
二維陣列定義的一般形式:
型別說明符 陣列名[常量表示式1][常量表示式2]
二維陣列的遍歷:
二維陣列的儲存方式:int a[3][4]=;
for (int i=0; i<3; i++)
printf("\n");
}
1)計算機會給二維陣列分配一塊連續的儲存空間
2)陣列名代表陣列的首位址
3)每個元素占用相同的位元組數
4)並且陣列中元素之間的位址是連續的
氣泡排序
氣泡排序的思想:氣泡排序是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作時重複地進行指導沒有再需要交換,也就是說數列已經排序完成。
**實現:
選擇排序void maopao(int arr,int len)}}
}int main(int argc,const
char * argv) ;
int i;
maopao(a, 10);
for (i=0; i<9; i++)
return
0;}
選擇排序思想:選擇排序的基本思想是每步從待排序的記錄中選出排序碼最小的記錄,順序存放在已排序的記錄序列的後面,直到全部排完。選擇排序中主要使用直接選擇排序和堆排序。
**實現:
折半查詢void selectsort(int arr,int len)}}
}int main(int argc,const
char * argv);
//呼叫selectsort函式
selectsort(a, 10);
//遍歷
for (int i=0; i<10; i++)
return
0;}
折半查詢的基本思想是:對於有序表,查詢時先取表中間位置的記錄關鍵字和所給關鍵字進行比較,若相等,則查詢成功;如果給定值比該記錄關鍵字大,則在後半部分繼續進行折半查詢;否則在前半部分進行折半查詢,直到查詢範圍為空而查不到為止。
**實現:
int searchitem(int arr,int len,int key)else
if (key1;
}else
}return -1;}
int main(int argc,const
char * argv) ;
int loc= searchitem(a, 10, 45);
printf("%d",loc);
return
0;}
黑馬程式設計師 c語言 陣列學習
使用陣列為了方便一次性定義多個變數,同時為了方便使用這些變數 乙個陣列就是多個變數的有序集合 1 定義乙個陣列,就定義了很多的變數 2 這每乙個變數都是陣列的乙個元素或成員 3 陣列是乙個有序的集合,也就是說可以使用乙個數字引用變數 4 陣列中每乙個元素的使用和乙個一般的變數使用一樣 一維陣列是元素...
黑馬程式設計師 C 陣列的學習
陣列的知識點學習 陣列是通用的資料結構,在c 當中使用陣列,需要建立system.array型別的物件。陣列是可索引的資料的集合。資料的型別既可以是內建的,也可以是自定義的 c 當中陣列就是物件本身。陣列是system.array類的乙個宣告的例項,在使用陣列的時候,也可以使用此類的所有方法和屬性。...
黑馬程式設計師 C語言指標與陣列
1 指標與位址 一元運算子 用於取乙個物件的位址,因而語句 p c 用於將c的位址賦給變數p,並且說p是指向c的指標。一元運算子 是間接定址或間接引用運算子,當它應用於指標時,它將訪問指標所指向的物件。由於指標也是變數,所以在程式中不必通過間接引用的方法就可以直接使用它們。例如,如果i q是另乙個指...