第五章陣列演算法總結

2021-03-26 11:30:55 字數 1044 閱讀 6149

陣列的概念:一組相同型別資料的集合,陣列中的所有元素都只能是同乙個型別的,陣列中的元素在記憶體中的空間是連續的,陣列的定義、陣列元素的引用和陣列的初始化看書或者課件

容易錯的地方:

◆ 陣列的定義語句如:int a[10]是定義了10個整型元素的陣列,表示一共有a[0]----a[9]10個元素,切記tc中元素的下標是從0開始,所以最後乙個元素的下標是9而不是10!!!!!

◆ 只有定義語句int a[10] 時,表示定義了乙個陣列,陣列名為a,一共有10個元素,其他任何地方出現a[i]都表示乙個元素的引用!!!

main()

main()

main()

for(i=0;i<5;i++) printf(「%3d」,a[i

}那麼我們考慮要實現五個數的按順序排序,步驟應該是乙個乙個來的,也就是先考慮如何把五個數中最小的放到a[0],定下乙個最小的a[0]之後,再考慮把剩下四個數當中最小的放到a[1],如此類推,那麼五個數我們要定四趟,每一趟定乙個數,從a[0]定到a[3],那麼最後當剩下乙個數就不用再定了,那每一趟又是怎麼定的呢?我們考慮要把五個數當中最小的放到a[0]中,那直接選擇排序的演算法思想是把a[0]跟後面的每乙個數進行比較,也就是從a[1]一直比到a[4], 如果有比a[0]小的那麼就進行交換,這樣就可以確保比完後a[0]中存放的是五個數當中最小的了,這是第一趟的思路,以此類推,定完a[0]後,要把剩下的四個數當中最小的放在a[1]中,則是把a[1]跟後面的每個數相比,也就是從也就是從a[2]一直比到a[4],這樣就可以定下第二小的數,以後的每個數一次類推……

下圖是對n個數進行排序時候的比較示意圖,如果是n個數,那麼需要定n-1趟,從a[0]一直定到a[n-2],第i趟是定下a[i],每趟要定a[i]的時候都是把a[i]與後面的的每乙個數進行比較,也就是從a[i+1]到a[n-1],有比a[i]小的就進行交換,所以一共需要n-1趟,每趟又需要比較多次,用到雙重迴圈,外層迴圈控制比較的趟數,內層迴圈控制每一趟比較的次數。

main( )

}for(i=0;i<5;i++) printf("%5d",a[i]);

}main()

printf

第五章陣列和廣義表

5.18 void rsh int a n int k 把陣列a的元素迴圈右移k位,只用乙個輔助儲存空間 else while while 插入a中剩餘的元素 第x行 while 插入b中剩餘的元素 第x行 for tsmatrix add 5.22 void tsmatrix addto tsma...

第五章總結

節1 數字基帶訊號 數字基帶傳輸系統框圖組成 通道訊號形成器 編碼通道 接收濾波器 抽樣判決器。一 時域形式 基帶訊號 單極性 雙極性 歸零 不歸零。二 頻譜結構 1.穩態波v t 的功率譜密度pv 2.交變波u t 的功率譜密度pu 3.基帶訊號s t 的功率譜密度ps pv pu 三 常用碼型 ...

第五章資料型別 陣列 結構體 共用體

5.1 一維陣列 前面我們使用的都是屬於基本型別 整形 實型 字元型 的資料,c語言還提供了構造型別的資料 陣列 結構體型別 共用體型別。一 一維陣列的定義 型別說明符陣列名 常量表示式 例如 int a 10 說明 1 型別說明指定了陣列的每個元素都屬於某一型別 2 陣列名命名遵循識別符號的使用規...