數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)

數組
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
1.一維數組的創建和初始化
數組在創建的時候如果想不指定數組的確定的大小就得初始化。
數組的元素個數根據初始化的內容來確定。
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
注意:
sizeof計算的是所佔空間的大小,元素個數*元素類型(單位是字節)
strlen 計算字符串中\0前的字符個數(\0不算字符串的內容)
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
strlen 函數只有遇到\0後才停止計算長度
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
2.一維數組的使用
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
打印每一位元素一般用循環
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
3.一維數組在內存中的存儲
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
p--->point指針的意思
%p就是打印地址的意思
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
每塊空間存儲 的是int 類型的 是4個字節,所以每個地址之間差4
以一個字節爲一個存儲單元
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
下標連續增長,地址連續
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
4.二維數組的創建及初始化
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
int arr[3][4]三行四列
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
當不完全初始化時,剩下的元素也默認的是0
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
1 2 3 4
5 0 0 0
0 0 0 0
可以將二維數組的每一行當做一個一維數組進行初始化
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
1 2 3 0
4 5 0 0
0 0 0 0
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
1 2 3 0
1 2 0 0
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
5.二維數組的存儲
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
像一維數組一樣是連續存放的
每一行的數組名像一維數組
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
二維數組可以看做多個連續的一維數組組成的一個數組
6.數組作爲函數參數
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
冒泡排序
例:
思路:
兩兩相鄰比較,一次冒泡,比較n-1次
若有n個元素則進行n-1趟冒泡排序
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
兩兩比較 9+8+7+6+5+4+3+2+
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
注意:
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
函數中數組首元素的地址是4個字節,arr[0]是4個字節
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
函數實現:
1.可以用數組接收數組(傳遞arr用arr[]來接收可以不告訴數組的長度)
2.因爲數組專遞的是數組首元素地址,所以也可以使用指針來接收
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
代碼優化
當有一趟冒泡排序後,發現沒有數需要進行交換,說明數都排好序了,可以直接結束排序,退出打印
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
思路:
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
數組名到底是什麼
1.數組名是首元素地址
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
兩個例外:
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
雖然數值相同但是意義不同
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
因爲&arr+1後跳過整個數組的空間
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)
數組(+冒泡排序的和冒泡排序的優化)(零基礎學習C語言)






































































































發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章