這一章的主要內容是陣列,通過對陣列的學習,我能夠運用陣列解決更多複雜的問題,但是儘管用陣列解決問題,更加方便,但不得不承認,這一章的題目難度也明顯增高,挑戰性也隨之增強,下面是我對陣列這一章的主要內容的總結。
一維陣列
一,一維陣列的定義
速度就是一堵相同的變數,他們往往都是為了表達同一批物件的統一屬性,如乙個班級的所有同學的身高,速度可以是一維的,也可以是二維或多維的。
1.一維陣列的定義
格式:型別識別符號 陣列名[常量表示式];
注意:1.陣列名代表首位址
2.陣列大小必須是常量一旦定義不能改變
3.型別識別符號可以是任何基本資料型別,也可以是結構體等構造型別相同型別的陣列,可以一起定義
4.陣列名必須是合法的識別符號
5.常量表示式的值即為陣列元素的個數
2.一維陣列元素的引用陣列定義好後就可以引用陣列的任意乙個元素,需要注意的是,下標準能為整型常量或整型表示式值,必須在陣列定義的下標範圍內,否則會出現下標越界錯誤,同時不能一次引用整個陣列,只能逐個引用陣列的單個元素
3.因為速度的儲存結構
二、一維陣列的輸入與輸出
輸入1.鍵盤讀入
2.直接賦值
c++中韓提供了兩個函式給陣列整體賦值
1.memset,函式
memset函式是給陣列按位元組進行賦值,一般用在char型陣列中,如果是int型別的陣列,一般賦值為0和-1。
標頭檔案:#include
2.fill函式
fill函式是給陣列按元素進行賦值,可以是整個陣列,也可以是部分連續陣列,可以賦任何值。
標頭檔案#include
經典例題:下樓梯。
三、一維陣列的插入刪除
在實際應用中,經常需要在陣列中插入乙個元素,或者刪除陣列中的某乙個元素,稱為陣列的插入操作,或者刪除操作。
四、一維陣列的查詢統計
一維陣列的查詢操作就是在一維陣列中查詢有沒有某個元素,它的值等於指定的值x。
方法:順序查詢和二分查詢
1.順序查詢
順序查詢就是按照從前往後的順序將陣列中的元素依次與要查詢的數x進行比較
2.二分查詢,又稱折半查詢,優點是比較次數少,查詢速度快。
五、一維陣列的元素排序
排序就是按照某個關鍵字的大小將若干物件從小到大,或者從大到小進行重新排列。
排序演算法:
1.選擇排序
選擇排序的基本思想是煤炭從大排序的資料中通過打擂台比較選出最小元素,放在這些資料的最前面。
2.氣泡排序
氣泡排序的基本思想是從第乙個數開始,依次不斷比較相鄰的兩個元素,如果逆序就交換這樣一趟,排序結束後最大的元素就放在了第n個位置了。
3.插入排序
插入排序的基本思想是把所有的排序元素分成前後兩段,前一段是已經排好序的,後一段是帶排序的每一趟都是把後一段的第乙個數插入到前一段的某乙個位置,保證前一段仍然是有序的。
二維陣列
六、二維陣列的定義和操作
1.二維陣列的定義和初始化
格式:型別識別符號 陣列名[常量表示式1][常量表示式2]
2.二維陣列的儲存和元素引用
二維陣列的儲存方式是行星優的連續儲存,先逐個儲存第0行上的所有元素,在逐個儲存一行上的所有元素,依次類推。
格式:陣列名[下標1][下標2]
3.二維陣列的輸入輸出
二維陣列的輸入輸出操作也是針對每乙個元素進行結合,兩個維度的下標變化,用迴圈巢狀實現。
七、字元陣列
如果陣列中的每乙個元素都是乙個字元,這樣的陣列稱為字元陣列。
1.字元陣列的賦值方法
1).用字元常量逐個初始化
用賦值語句逐個元素賦值
用scanf讀入整個陣列
用scanf逐個元素讀入
用cin輸入整個陣列
用cin逐個元素輸入
用gets讀入整個陣列
用getchar逐個讀入
注意:1.用gets,讀入整個陣列可以讀入空格,用其他方式讀入陣列則空格作為間隔符,不作為文字的內容
2.乙個字元陣列,只能存乙個字母。
字元陣列的輸出方法
用cout輸出整個陣列
用cout逐個元素輸出
用printf輸出整個陣列
用printf逐個元素輸出
用puts輸出整個陣列
用putchar逐個元素輸出
這一章還需要注意
1.計算機正常一秒運算速度不超過十的九次方,
2.全域性統計只在運算前復初值,區域性統計只在開始統計前復初值
通過對這一章的學習,我對c++有了更深的了解,儘管這一章的題目比較難,但陣列的學習讓這些難題也變得有方法可做,不至於像以前一樣摸不著頭腦,這一章對於程式思維的考驗也明顯上公升,但通過這一單元的學習與習題的練習,我們的程式思維也提公升了不少,我們也學會了如何將複雜的題目交給程式去做,程式擅長的是計算,你只需要將你的思維以正確的形式輸入進去,然後能高效的得到準確的答案,這種成就感滿滿,同時通過對題目的練習,我也發現了許多自己在編寫程式上的不足,最大的體會就是要心細,總而言之,加油吧,少年!!!
學習心得體會1
首先我定義了乙個類 sealed class usermodel set public string username set public usermodel string name,int32 age public void displaymember userage this.username...
angular學習心得體會
1 ionic的自定義服務factory,service,provide等.factory hots function hots 這個名字是自定義服務的名字,可以注入到不同controller裡面公用,一般邏輯處理,資料處理,都會放在自定義服務內,當你初試 angular 時,很自然地就會往 con...
opencv心得體會 opencv學習心得第一章
背景介紹 opencv是專門用於影象處理的機器視覺庫,python是用於快速開發的輕量級語言。opencv提供的介面可以讓python輕鬆的對這個機器視覺庫進行操作,進行影象處理。opencv中的gui特性 開發環境為linux的ubuntu使用的語言為python 1 影象的基本操作 首先我們先學...