【正文】
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a 32 上行 下行 左側(cè) 右側(cè) 順時針 行 i ni ni i+1 i ni1 列 i ni1 ni i+1 i ni 逆時針 行 i ni i ni1 ni i+1 列 ni i+1 i ni1 i ni 66656463626160565554535251504645444342414036353433323130262524232221201615141312111006050403020200a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a 上行 右側(cè) 下行 左側(cè) 33 k=1。 j++) { a[ij][j] = k。 iN/2。 /*求出行中最大數(shù) */ ? } ? } ? for(k=0,flag1=1。 18 ① 先設(shè)定 3個輔助標志 : low,high,mid, 顯然有: mid= ?(low+high)/2? ② 運算步驟 : ( key為要查找的值 ) (1) low =1,high =11 ,mid =6 ,待查范圍是 [1,11]; (2) 若 elem[mid] key,說明 key?[ mid+1,high] , 則令: low =mid+1。 14 關(guān)于選擇排序 ? 算法: N元數(shù)組 a[0]~a[N1]由小到大排序: 第 0步 :找到 a[0]~a[N1]中的最小值元素與 a[0]交換 。 優(yōu)點: 每趟結(jié)束時,不僅能擠出一個最大值到最后面位置,還能同時部分理順其他元素;一旦下趟沒有交換發(fā)生,還可以提前結(jié)束排序。 s=s+a。 【 13】 , 6, 3, 31, 9, 27, 5, 11 【 6, 13】 , 3, 31, 9, 27, 5, 11 【 3, 6, 13】 , 31, 9, 27, 5, 11 【 3, 6, 13, 31】 , 9, 27, 5, 11 【 3, 6, 9, 13, 31】 , 27, 5, 11 【 3, 6, 9, 13, 27, 31】 , 5, 11 【 3, 5, 6, 9, 13, 27, 31】 , 11 【 3, 5, 6, 9, 11, 13, 27, 31】 在已形成的 有序表中 線性查找 ,并在適當位置插入,把原來位置上的元素向后 順移 。 a[j] = t。j N。 //當 lowhigh時表示查找區(qū)間為空,查找失敗 } 20 ? 首先要理清楚思路,再動手編程序 找鞍點的問題 21 ? for (i=0。 這是 a[i],則前面已有 i個元素,與它交換的元素 a[k]應(yīng)該滿足與a[k]后面也有 i個元素,則這個元素的下 標 k為: n1i 即 :下標 i要與下標 ni1交換 23 將一個數(shù)組逆序轉(zhuǎn)換程序 define N 5 main() { int a[N]={9,6,5,4,1},i,temp。將斜列編號為0,1,2,… ,2n(以 i表記 ,n=N1),從圖中看出在一斜列上各元素的下標是相等的,且等于斜列號 i。 j=n。 for ( j=ni。 } } ? 替換元素下標(也就是等式右邊的部分)規(guī)律 x=nj,y=i 66656463626160565554535251504645444342414036353433323130262524232221201615141312111006050403020200a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a 66656463626160565554535251504645444342414036353433323130262524232221201615141312111006050403020100a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a 36 魔方陣 ? 魔方陣是以元素為自然數(shù) 1,2,… N*N方陣。