把乙個整數按大小順序插入已排好序的陣列中。

2021-06-20 13:12:52 字數 620 閱讀 6739

為了把乙個數按大小插入已排好序的陣列中,應首先確定排序是從大到小還是從小到大進行的。設排序是從大到小進序的,則可把欲插入的數與陣列中各數逐個比較,當找到第乙個比插入數小的元素 i 時,該元素之前即為插入位置。然後從陣列最後乙個元素開始到該元素為止,逐個後移乙個單元。最後把插入數賦予元素 i 即可。

#includeint main()

;

for(i=0;i<10;i++)

a[i]=n;

for(i=0;i<=10;i++)

printf("%d\n",a[i]);

printf("\n");

}

本程式首先對陣列a中的10個數從大到小排序並輸出排序結果。然後輸入要插入的整數n。再用乙個for 語句把 n 和陣列元素逐個比較,如果發現有 n>a[i]時,則由乙個內迴圈

把 i 以下各元素值順次後移乙個單元。後移應從後向前進行(從 a[9]開始到 a[i]為止)。 後移結束跳出外迴圈。插入點為i,把 n 賦予 a[i]即可。 如所有的元素均大於被插入數,則並未進行過後移工作。此時i=10,結果是把 n 賦於 a[10]。最後乙個迴圈輸出插入數後的陣列各元素值。

對乙個整數按位反轉

記得在以前也是寫過乙個按位反轉 reversing bits 的文章,都是自己的,寫的傻乎乎的。這次重新對它進行了書寫。再加上由於看了 henry s.warren 的 hacker s delight 一書中的有關 reversing bits 的相關介紹,所以寫了這篇筆記。unsigned in...

按小到大順序輸出乙個正整數的所有質數因子

輸入乙個long型整數 按照從小到大的順序輸出它的所有質數的因子,以空格隔開。最後乙個數後面也要有空格。示例1 180 2 2 3 3 5 基本思想 從2開始依次判斷每個數是否為正整數num的因子,並該數滿足質數 include include include using namespace std...

在單鏈表按公升序插入乙個值

演算法要求 在單鏈表按公升序插入乙個值。成功插入返回1,已存在返回0,插入失敗返回 1。結點結構 typedef struct node node c語言新手寫單鏈表的有序插入演算法可能會寫出下面的演算法 int list insert node list,int value 已存在,返回0 if ...