中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

c語言數組排列函數 c語言實現數組排序

編寫函數,使用選擇排序法對數組進行排序(用C語言)

#include?stdio.h

創新互聯公司主要從事成都做網站、成都網站制作、網頁設計、企業做網站、公司建網站等業務。立足成都服務長治,10多年網站建設經驗,價格優惠、服務專業,歡迎來電咨詢建站服務:18982081108

#include?stdlib.h

#include?time.h

int?main(void)

{

int?a[10],i,j,tmp,b;

srand(time(NULL));

for(i=0;i10;i++)

a[i]=rand()%100;

for(i=0;i10;i++)

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

printf("\n");

for(i=0;i9;i++)

{

tmp=i;

for(j=i+1;j10;j++)

?{

if(a[tmp]a[j])

tmp=j;

?}

if(i!=tmp)

{

b=a[tmp];

a[tmp]=a[i];

a[i]=b;

}

}

for(i=0;i10;i++)

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

printf("\n");

return?0;

}

隨機產生數組中的元素, 更合理一些。 百科中有各種版本。

C語言中通過函數調用對一維數組進行排序

#include stdio.h

#include stdlib.h

#include time.h

#define MAXlen 100

void select_sort(int *x, int n) { //選擇排序

int i, j, min;

int t;

for (i = 0; i n - 1; i++) { // 要選擇的次數:0~n-2共n-1次

min = i; // 假設當前下標為i的數最小,比較后再調整

for (j = i + 1; j n; j++) { //循環找出最小的數的下標是哪個

if (*(x + j) *(x + min)) {

min = j; // 如果后面的數比前面的小,則記下它的下標

}

}

if (min != i) { // 如果min在循環中改變了,就需要交換數據

t = *(x + i);

*(x + i) = *(x + min);

*(x + min) = t;

}

}

}

int main() {

int i;

int iArr[MAXlen];

srand((unsigned int)time(NULL));

printf("\n排序前:\n");

for(i = 0 ; i MAXlen ; i++) {

iArr[i] = (unsigned int)rand() % 1000;

if(i % 10 == 0) printf("%\n");

printf("%5d",iArr[i]);

}

printf("\n");

select_sort(iArr,MAXlen);

printf("\n排序后:\n");

for(i = 0 ; i MAXlen ; i++) {

if(i % 10 == 0) printf("%\n");

printf("%5d",iArr[i]);

}

printf("\n\n");

return 0;

}

求C語言將數組元素大小排序!!

C語言將數組元素大小排序方法:

以下使用的是冒泡排序法實線數組從小到大排序。

思想:每次相鄰兩個數比較,若升序,則將大的數放到后面,一次循環過后,就會將最大的數放在最后。

10、2、3、4、5、6、9、8、7、1是輸入的待排序的數列,經過第一次排序,將最大的,10放在最后,第二次排序,將剩下的2、3、4、5、6、9、8、7、1進行冒泡,將當前最大的9放在倒數第二的位置,以此類推。

以下是具體代碼:

#include stdio.h

int main(){

int nums[10] = {10, 2, 3, 4, 5, 6, 9, 8, 7, 1};

int i, j, temp, isSorted;

//優化算法:最多進行 n-1 輪比較

for(i=0; i10-1; i++){

isSorted = 1;? //假設剩下的元素已經排序好了

for(j=0; j10-1-i; j++){

if(nums[j] nums[j+1]){

temp = nums[j];

nums[j] = nums[j+1];

nums[j+1] = temp;

isSorted = 0;? //一旦需要交換數組元素,就說明剩下的元素沒有排序好

}

}

if(isSorted) break; //如果沒有發生交換,說明剩下的元素已經排序好了

}

for(i=0; i10; i++){

printf("%d ", nums[i]);

}

printf("\n");

return 0;

}

擴展資料:

其他將數組從小到大排序的算法

以下使用的是選擇排序法實現數組從小到大排序。

思想:從第一個數開始,每次和后面剩余的數進行比較,若升序,則如果后邊的數比當前數字小,進行交換,和后面的所有的數比較、交換后,就會將當前的最小值放在當前的位置

輸入的序列為10、2、3、4、5、6、9、8、7、1進行一次排序后將最小的數放在了第一位(a[0]與它后面的所有數進行比較,若a[0]比后面的數大,進行交換),以此類推。

以下是具體代碼:

#include stdio.h

int main(void){

int a[1001];

int n,i,j,t;

scanf("%d",n);//n為要排序的數的個數

//輸入需要排序的數

for(i=0;in;++i)

scanf("%d",a+i);

//接下來進行排序

for(i=0;in-1;++i)//因為每次需要和a[i]后面的數進行比較,所以到a[n-2](倒數第2個元素)就行

{

for(j=i+1;jn;++j)//j從i后一個開始,a[i]與a[j]進行比較

{

if(a[i]a[j])//a[i]為當前值,若是比后面的a[j]大,進行交換

{

t=a[i];

a[i]=a[j];

a[j]=t;

}

}//每排序一次,就會將a[i](包括a[i])之后的最小值放在a[i]的位置

for(j=0;jn;++j)

printf("%-5d",a[j]);

printf("\n\n");

}

return 0;

}

分享名稱:c語言數組排列函數 c語言實現數組排序
URL地址:http://www.2m8n56k.cn/article34/dojidse.html

成都網站建設公司_創新互聯,為您提供網站設計關鍵詞優化網站維護品牌網站建設網站制作微信公眾號

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

綿陽服務器托管
主站蜘蛛池模板: 毛片1毛片2毛片3毛片4 | a级高清毛片 | 国产a区| 亚洲欧美日本综合 | 一级女人毛片 | 69欧美| 免费91最新地址永久入口 | 久久男人的天堂色偷偷 | 千涩成人网 | 久久99精品久久久久久 | 国产成人高清亚洲一区91 | 亚洲成aⅴ人片在线影院八 亚洲成av人片在线观看 | 东京一区二区三区高清视频 | 国内精品视频成人一区二区 | a久久99精品久久久久久不 | 久久国产视屏 | 欧美一级片网站 | 亚洲精品一区二区三区四区手机版 | 国产成人精品久久 | 黄网站色视频免费观看w | 亚洲精品色 | 亚洲精品15p | 国产三级精品三级国产 | 97超在线| 色碰碰 | 久久久久亚洲 | 久久99精品视频在线在线观看 | 在线观看日本视频免费 | 欧美成人香蕉网在线观看 | 久久久久国产成人精品亚洲午夜 | 91久久精品国产91久久性色也 | 日本视频免费在线播放 | 久久久久国产 | 伊人精品视频 | 日韩中文字幕精品 | 国产美女视频网站 | 婷婷在线成人免费观看搜索 | 欧美日韩一区二区中文字幕视频 | 成人一级片在线观看 | 欧美一级片免费看 | 欧美在线播放成人免费 |