1樓:天燃
你挺有想象力的,放心我編譯通過了的,滿足你要求。陣列裡的數隨便你改。
#include
void sortnum (int arr,int count)/ 將陣列的數全部從小到大排序。
int i,j,t;
for ( j = 0; j < count; j++for ( i = 0; i < count - j; i++if (arr[i] >arr[i+1])t = arr[i];
arr[i] =arr[i+1];
arr[i+1] =t;
將 奇數 從小到大排序放在陣列前面畝鍵巨集。
將 偶數 從小到大排序放在陣列後面。
int k = 0;
for (i = 0; i 《亮磨 count; i++)if (arr[i] %2 !=0)
t = arr[k];
arr[k] =arr[i];
arr[i] =t;
k++;/ 將後面的偶數從大到小排序。
int m;
for (i = 0; i < count; i++)if (arr[i] %2 ==0)
m = i;
break;
for (i = m; i 《迅冊 count - 1; i++)k = i;
for (j = i+1; j < count; j++)if (arr[j] >arr[k])
k = j;
t = arr[k];
arr[k] =arr[i];
arr[i] =t;
void main()
int num
int cnt = sizeof (num) /sizeof (int);
sortnum (num, cnt);
for (int i = 0; i < cnt; i++)printf ("d ",num[i]);
2樓:網友
陣列的話講求效率的時候,一般用空間換時間如局比較容易。
int a[n];/你的待排序陣列,平渣含讓均老侍o(n/2)int b[n];/奇數放的陣列,平均o(n/2)int c【n】;/偶數放後面半個。
這個放好之後,對b,c分別進行桶排序就是了。
然和合併在a裡面,這是個對映。平均o(n)複雜度擦不多為2n+f(n)log(n/2)
隨機數列怎麼排序
3樓:歧華猶音
pascal裡的隨機數。
隨機數是指理論上沒有規律可循、在指定範圍內每個數的出現幾率相等、無法槐伏根據之前的數來**下乙個數的數列。一般隨機數生成器的基本原理是:首鉛坦攜先初始化乙個隨機種子,其初始值可以是任意的整數;在每次獲取隨機數時,以隨機種子為基礎進行某種特殊的運算,獲得乙個隨機數並返回之,然後再對隨機種子進行某種運算,改變隨機種子的值。
這樣,就可以生成許多比較隨機的數,但同乙個初始值的隨機種子將會生成完全相同的隨機數列。
pascal的system單元提供了兩個與隨機數有關的子程式:randomize和random。
randomize過程用於初始化隨機種子,其初始值取決於當前的系統時鐘。
random函式用於獲取隨機數。
它有兩種呼叫形式:
random,返回乙個0到1之間(不包括1)的隨機實數;
random(n),返回0至n之間(不包括n)的隨機整數,n為word型別整數。
另外,system單元中隨機種子變數的識別符號為randseed,你也可以手動修改它。隨機數在資訊學奧林匹克中可用於隨機化搜尋、窮舉等演算法,以優化其效能,也可用於在快速排序中選擇關鍵數,以使其快速排序演算法的信好最壞情況沒有固定的相應數列。如果你希望使用了隨機數的程式對同乙個輸入資料能有恆定的輸出結果,可以設定randseed為乙個定值。
random(10000)
取出來隨即數之後,lz只要再自己寫乙個函式,將數字轉換為字元,並在前面補零並判斷這個字元是否已經存在就可以了。
ps:如何判斷就要看你是怎樣存的,存在**了。
excel一組隨機數排序並計算
4樓:網友
1、產生隨機時間,這個容易。輸入下面式子:
2、時間的計算只要直接作差就行了。
3、至於排序,excel不支援橫向排序,只能縱向排序。
橫向排序原也可以利用函式來實現,可是,一旦重排序,原來隨機產生的時間就會重新生成,又會再次被打擾。
建議改變表的結構,或利用vba來實現,否則很難有解。
5樓:網友
隨機時間資料,一排序又計算,隨機數都會重新計算,不靠譜。
生成的隨機資料,複製選擇性貼上成數值,再進行排序和計算。
排序演算法:有規律的陣列排序
6樓:
這個「規律」具體是什麼呢?我可以歸納出三種:
奇數項和偶數項各自都是有序的整數;
奇數項和偶數項各自都是有序的連續整數;
奇數項和偶數項各自都是有序的連續整數,且奇數項全部小於偶數項;
哪個是題主所說的「規律」?
怎麼隨機排序每組人數?
7樓:網友
使用excel中的隨機功能即可,具體操作步驟如下:
1. 首先,開啟excel**,並將所有人名輸入成一明伍衫列,再將人名前插入一列單元格。
2. 在單元格內輸橘弊入=(任意數)*rand()+任意數(兩個任意數不能重複)。
3. 點選enter鍵即生成了乙個隨機數。
4.選中該單元格,向下拖拽左下角,即生成十二個符合條件的數值。
5.使用篩選功能中的排序功能,將激腔數字按順序排列,這樣名字也隨機排序。
6.再根據幾人一組按順序分配即可。
怎麼隨機排序的?
8樓:明佳妙明
參考下面。excel指定文字按指定次數隨機排序顯示。
excel資料隨機生成一列非空值。
excel怎悶棚樣快速從數螞州則據跡老中隨機抽取n個不重複顯示。
如何使用隨機數字表獲得數,如何使用隨機數字表獲得60個數
1 開啟excel 直接在開發工具那裡點選visual basic。2 這個時候彈出新的對話方塊,需要通過插入來選擇模組。3 下一步如果沒問題,就輸入圖示 並按f5鍵執行程式。4 這樣一來等返回主介面以後會看到對應的結果,即可使用隨機數字表獲得60個數了。首先,1到60,編號為,01,02,03,6...
怎麼用c 生成指定隨機數,在c 裡怎麼弄隨機數?
include include include using namespace std int main srand unsigned time null 初始化時間種子 int ret rand 3 產生 0 1 2 三種隨機數 int real pow 2,ret 2的0次方 1 2的1次方2 ...
excel單元格中的隨機數字如何進行排序?
excel版,在b中輸茄蔽談入或複製貼上下列公顫碰式。如果數字去重複,可並敏用如下公式。公式不扒枝曉得。試下這春慧敏個碧御 vba 排序本身會觸發隨機資料的生成,所以如果你的隨機滾脊數本身是用公式在a,a產生的,那麼排序會改變這兩個隨機資料,會導大激滲致排序失敗,所以,不能實現,如下圖所示 .如果是...