問題
已有乙個已排好的9個元素的陣列,今輸入乙個數要求按原來排序的規律將它插入陣列中。輸入
第一行,原始數列。第二行,需要插入的數字。
輸出 排序後的數列
我對程式的理解是 有9個從小到大的數,得向內面插入乙個數使這十個數按從小到大輸出
肯定插入後得用依次移下標的方法 但是從前往後移 會發現a[8]=a[7],a[9]=a[8]這種 發現後面的數
都一樣了。就得考慮從後面往前面移。如a[9]=a[8],a[8]=a[7] 這樣就不會出現上述問題
首先定義乙個陣列 內含10個元素 用if判斷輸入的數n是否為最大,若為最大 即用a[9]套給它,只要不是最大的數,就可以用迴圈找出n在**時第一次小於陣列中的元素。找不到就用continue跳出 執行下一次迴圈 只要找到n小於a[i],就用k記好 累加一次,這樣可以只要能把n插入之後,就可以用k==1來跳出最外層的迴圈了 內面的乙個迴圈就是上面所說的從後往前移下標
#includemain
()scanf
("%d",&
n);if(
n>a[
8])elsea[
i]=n
;k++;
}else
continue;if
(k==1
)break;}
}for(i
=0;i
<10;
i++)}
對找數程式的理解
經過幾個小時的思考,總算是對老師出的這個程式題有了一定的了解。該c 程式是乙個對數字進行查詢的程式。程式清單如下 using system using system.collections.generic using system.text namespace findthenumber for i...
對程式的理解
所謂程式就是資料和演算法,資料表現形式就是資料結構,基本資料型別就是那麼幾種形式,簡單資料組合就出現了共同體,列舉和結構體,根據空間和內容,出現了指標,在記憶體資料形態就出現線性結構,順序結構,鏈式結構,索引結構和散存結構,進而出現這些儲存結構實現形式,出現演算法和結構相呼應,線性表,棧和佇列,串和...
對插入排序的理解
public class insertsort array j temp 一直移動到比temp值小為止,資料插入 1 for 迴圈控制的是假定的插入值 因此根據演算法思路,i 的初始值為1。把下標為i 的資料存入臨時變數temp中,遍歷陣列內除第乙個資料外的全部資料。2 while迴圈用來判斷比較 ...