1 數組的應用:
冒泡排序法( bubble sort)
基本思想是通過相鄰兩個記錄之間的比較和交換, 使關鍵碼較小的記錄逐漸從底部移向頂部(上升),關鍵碼較大的記錄逐漸從頂部移向底部(沉底),冒泡由此得名。
選擇排序法( selection sZ喎?/kf/ware/vc/" target="_blank" class="keylink">vcnSjqTwvcD4NCjxwPrv5sb7LvM/ryse12mnMy9Gh1PHFxdDyzai5/W4tabTOudi8/MLrtcSxyL3Po6y0024taSsxuPa8x8K81tDRobP2udi8/MLr1+7QobXEvMfCvKOsILKius212mm49rzHwry9+NDQvbu7u6GjPC9wPg0KPHA+PGltZyBhbHQ9"這裡寫圖片描述" src="/uploadfile/Collfiles/20160919/20160919093615189.png" title="\" />
順序查找法
基本思想是讓關鍵字與序列中的數逐個比較,直到找出與給定關鍵字相同的數為止或序列結束,一般應用於無序序列查找。
二分查找法
對於有序序列,可以采用二分查找法進行查找。
2 關於指針:
指針除了能夠提高程序的效率,更重要的作用是能使一個函數訪問另一個函數的局部變量,因此指針是兩個函數進行數據交換必不可少的工具。
一個指針曾經指向一個已知對象,在對象的內存空間釋放後,雖然該指針仍是原來的內存地址,但指針所指已是未知對象,稱為“ 迷途指針”(dangling pointer)。
指針的運算都是作用在連續存儲空間上才有意義。
一個指針變量可以指向只讀型對象,稱為指向const對象的指針,即在指針變量定義前加const限定符,其含義是不允許通過指針來
改變所指向的const對象的值
把一個const對象的地址賦給一個非const對象的指針變量是錯誤的
允許把非const對象的地址賦給指向const對象的指針;不能使用指向const對象的指針修改指向對象,然而如果該指針指向的是一個
非const對象,可用其他方法修改其所指的對象。
實際編程中,指向const的指針常用作函數的形參,以此確保傳遞給函數的實參對象在函數中不被修改。
一個指針變量可以是只讀的,稱為const指針
指向const對象的const指針
3 一維數組與指針
C++程序員更偏愛使用指針來訪問數組元素,這樣做的好處是運行效率高、寫法簡潔。
用多種方法遍歷一維數組元素
數組元素訪問方法的比較
4 指針與字符串
可以利用一個字符型的指針處理字符串,其過程與通過指針訪問數組元素相同。使用指針可以簡化字符串的處理,是程序員處理字符串常用的編程方法。
指針訪問字符串舉例:
指針可以指向數組,使得數組的訪問多了一種途徑,但指針並不能替代數組來存儲大批量數據。
5 指針作為函數的參數:
指針最重要的應用是作為函數參數,它使得被調函數除了返回值之外,能夠將更多的運算結果返回到主調函數中。因此,指針是函數參數傳遞的重要工具。
通過將指針作為函數參數的方法,既可以返回多個運算結果,又避免了使用全局變量。
6 數組作為函數的參數
要想在子函數中改變主調函數中的數組元素,實參與形參的對應關系有如下4種,這4種情況作用相同:
字符指針變量作為函數形參
將一個字符串傳遞到函數中,傳遞的是地址,則函數形參既可以用字符數組,又可以用指針變量,兩種形式完全等價。在子函數中可
以修改字符串的內容,主調函數得到的是變化後的字符串。