可以用一個(gè)輔助數(shù)組進(jìn)行隨機(jī)排序,方法如下:
創(chuàng)新互聯(lián)建站專(zhuān)注于企業(yè)成都全網(wǎng)營(yíng)銷(xiāo)推廣、網(wǎng)站重做改版、友好網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁(yè)面制作、成都商城網(wǎng)站開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為友好等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
1 獲取要排序的數(shù)組長(zhǎng)度L。
2 定義整型的輔助數(shù)組,長(zhǎng)度為L(zhǎng)。
3 生成L個(gè)隨機(jī)整型數(shù)字,存與輔助數(shù)組中,這樣要排序數(shù)組和輔助數(shù)組就是一一對(duì)應(yīng)的了。
4 對(duì)輔助數(shù)組排序,排序過(guò)程中,當(dāng)改變輔助數(shù)組中數(shù)字的位置時(shí),同步改變要隨機(jī)排序的原數(shù)組中對(duì)應(yīng)的元素位置。比如為排序交換輔助數(shù)組的第三個(gè)和第五個(gè)元素,那么就要同時(shí)交換原數(shù)組中的第三個(gè)和第五個(gè)元素。
5 當(dāng)輔助數(shù)組排序完成后,原數(shù)組中的值就是隨機(jī)順序了。
6 刪除輔助數(shù)組。
#include
#include
#include
intmain()
{
inti,j,n,k,t,a[100];
srand((unsigned)time(NULL));
p
利用rand()函數(shù)產(chǎn)生隨機(jī)數(shù)字,rand()%n產(chǎn)生小于n的隨機(jī)數(shù),然后交換。
運(yùn)行的結(jié)果:
#include
#include
intmain()
{
intnbs
利用rand()函數(shù)產(chǎn)生隨機(jī)數(shù)字,rand()%n產(chǎn)生小于n的隨機(jī)數(shù),然后交換。
擴(kuò)展資料
C語(yǔ)言排序法
在一層循環(huán)找出最小數(shù)的下標(biāo),該下標(biāo)用min保存,直到比較完整個(gè)數(shù)組,即可找到最小的數(shù),然后將該數(shù)放入數(shù)組的第一位。
這樣只能排好一個(gè)元素,于是需要再嵌套一層外層循環(huán)即可排好所有元素。第二次循環(huán)就不用再比較第一個(gè)元素了,因?yàn)榈谝粋€(gè)元素已經(jīng)排好,依次類(lèi)推,每一次循環(huán)就會(huì)排好一個(gè),進(jìn)行n-1次循環(huán)即可排好所有元素。
利用rand()函數(shù)產(chǎn)生隨機(jī)數(shù)字,rand()%n產(chǎn)生小于n的隨機(jī)數(shù), 然后交換。
下面是我寫(xiě)的程序:
#include stdio.h#include stdlib.hint main(){ int a[1000], n, i, j, p, q, t; while(1) { printf("\n\n請(qǐng)輸入一維數(shù)組的維數(shù),0結(jié)束 n = "); scanf("%d", n); if(n==0) break; printf("請(qǐng)輸入一維數(shù)組中的數(shù)據(jù):\n"); for(i=0; in; i++) scanf("%d", a[i]); j=10; while(j--)//隨機(jī)交換10次 { p=rand()%n;//產(chǎn)生兩個(gè)隨機(jī)數(shù) q=rand()%n; t=a[p];//交換 a[p]=a[q]; a[q]=t; } printf("\n隨機(jī)交換后數(shù)組的元素為:\n"); for(i=0; in; i++) printf("%d ", a[i]); }}
分享名稱(chēng):c語(yǔ)言隨機(jī)排序函數(shù) C語(yǔ)言隨機(jī)排序
轉(zhuǎn)載來(lái)于:http://muchs.cn/article14/hgchde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、面包屑導(dǎo)航、微信公眾號(hào)、響應(yīng)式網(wǎng)站、關(guān)鍵詞優(yōu)化、小程序開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)