用選擇排序法對一維陣列中的整數進行排序

2021-03-04 04:41:13 字數 5535 閱讀 7147

1樓:匿名使用者

選擇排序的思

bai路, 每次選最小du的數放zhi前邊。。int n[100]; //100個數進行排序。daoint m;for(int i = 0; i < 99; i ++)if(m!

=i)}

編寫一個用選擇法對一維陣列升序排序的函式,並在主函式中呼叫該排序函式,實現對任意20個整數的排序。

2樓:匿名使用者

#include

#include

#include #define maxlen 100void select_sort(int *x, int n)

} if (min != i)

}}int main()

printf("\n");

select_sort(iarr,maxlen);

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

for(i = 0 ; i < maxlen ; i++)printf("\n\n");

return 0;}

用c語言,隨機輸入10個整數,用氣泡排序法對這些整數進行從小到大排序,輸出排序前和排序後的數的順序。

3樓:愛夏的你呀

c語言隨機輸入10個整數的源**如

下:#include"stdio.h"

void fun(int a)

}void main()

;int c[10]=;

int i;

printf("請輸入待排序的10個數:");

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

fun(a);

printf("\n排序後的數列如下:\n");

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

/*******************************/wf=fopen("out.dat","w");

fun(b);

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

fprintf (wf,"%2d",b[i]);

fun(c);

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

fprintf (wf,"%2d",c[i]);

fclose(wf);

}擴充套件資料c語言生成10個隨機整數並對隨機數進行冒泡和快速排序的源**#include//氣泡排序法

int main(void)

{int i,j;

double t ,a[10];

printf("input 10 numbers:");

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

scanf("%lf",&a[i]);

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

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

if(a[j+1]

4樓:匿名使用者

#include

main()

printf("\nafter sorting:\n");

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

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

} 樓上的錯了

5樓:匿名使用者

#include

void main()

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

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

c語言:用選擇排序法對一個陣列裡的數進行排序,從小到大,要求選出小的進行排序

6樓:會飛的小兔子

#include

intmain()

;intj=0;

inttmp=0;

intm=sizeof(a)/sizeof(a[0]);//s陣列大小

for(i=0;i}}

for(i=0;i

printf("\n");

return0;

}擴充套件資料

c語言排序法

把一個陣列進行排序可以使用選擇排序法。選擇排序法的原理在是每一趟迴圈尋找陣列中最小的數的下標,然後按照遞增的順序放入陣列中。

迴圈找出最小數的下標,該下標用min儲存,直到比較完整個陣列,即可找到最小的數,然後將該數放入陣列的第一位,這樣就排好了一個元素。

需要再巢狀一層外層迴圈即可排好所有元素。第二次迴圈就不用再比較第一個元素了,因為第一個元素已經排好,依次類推,每一次迴圈就會排好一個,進行n-1次迴圈即可排好所有元素。

7樓:大野瘦子

這樣:int *a = (int *)malloc(sizeof(int) * n); //動態分配陣列空間 ,有幾個元素,n就是幾。

for(i=0; i

sort(a, n);

for(j=0; j

void sort(int *a, int n)}}

注意事項

1、選擇排序法是將序列分為兩段,有序前列和無序後列,每次查詢無序後列中最大元素,將其插入到有序前列的最末尾處,直至無序後列最後一個元素,最終排序後的序列為降序序列。

2、適用於包括陣列和向量在內的序列。

3、選擇排序與氣泡排序的區別是選擇排序每次遍歷時會記住最大元素的位置,只進行一次交換,而氣泡排序每次遍歷時會交換兩個順序不合法的元素。

演算法程式:

#include "stdafx.h"

#include

using namespace std;

void selectsort(int a,int n)

int temp = a[max]; //交換無序後列中首元素與最大元素的位置

a[max] = a[i];

a[i] = temp;}}

8樓:匿名使用者

#include

void sorted(int a,int n)if(k!du=i)}

}int main(){

int n,i,a[255];

printf("請輸入zhi資料總量n(1-254):

");scanf("%d",&n);

printf("請輸入%d個數:dao",n);

for(i=0;i的數

內組:");

for(i=0;i容的陣列:");

for(i=0;i

c語言程式設計題:用選擇法對10個整數排序

9樓:凌亂心扉

#include

int main()

;printf("排序前的序列為:\n");

for(i=0;i<10;i++)//輸出排序前的序列printf("\n");

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

if(min!=i)//說明第一個數不是最小數,所以將a[i+1]~a[10]中最小值與a對換

}printf("排序後的序列為:\n");

for(i=0;i<10;i++)//輸出排序後的序列printf("%5d",a);

printf("\n");

return 0;}

10樓:愛文兒童節

#include

using namespace std;

//#include

int main()

cout<

for (i=1;i<=10;i++) // 輸出已排好序的10個數

cout<

cout<

return 0;}

11樓:匿名使用者

main()

printf("\n由小到大排序結果為:");

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

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

12樓:海賊路飛

第二個巢狀的for語言裡不應該是j=i+1而是j=0才對

13樓:編**的沒意思

//選擇排序

bai每次

du找出所剩元素

zhi中最小(大dao)的值

回void selectionsort(int arr,int n)}

14樓:匿名使用者

排序有很多種演算法。我就

隨便給你來一個吧。

#include

void sort(int k)

;for(j1=0;j1<9;j1++)}}for(j=0;j<10;j++)

printf("%d\t",k[j]);

*/return 0;

15樓:

#include

#define n 10

int main()

printf("\n");

return 0;}

16樓:匿名使用者

#include

int main(void)

}for (i=0;i<10;++i) printf("%d\t",a[i]);

return 0;

17樓:匿名使用者

#include

void selectsort( int a , int n )}}int main()

;selectsort( a , 10 ) ;

for( i = 0 ; i < 10 ; i ++ )printf("%d\t",a[i]);

putchar('\n');

return 0 ;}

18樓:

#include

main()

for(i=0;i<10;i++) printf("%d ",a[i]);}

19樓:匿名使用者

#include

int main(void)

p=num[i];

num[i]=q;

num[t]=p;

q=0;

}for (i=0;i<=9;i++)

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

while (1);}

20樓:franklin再戰

選擇排序的工作原理是每一次從無序組的資料元素中選出最小(或最大)的一個版元素,存放權在無序組的起始位置,無序組元素減少,有序組元素增加,直到全部待排序的資料元素排完。

給你一個我寫的例子(c語言程式設計案例教程(廖湖聲) p122 第四章 上機練習 第一題):網頁連結看著這個自己修改一下,學習效果更佳。你可以放到codeblocks中用執行,並用選單中的debug->debugging windows->watches來看變數的變化,加油!

21樓:育知同創教育

#include

//簡單選復擇排

序制void selectsort(int r[ ], int n)

程式設計題 用氣泡排序法將一維陣列A 1010進行排列

c語言?include stdio.h void bubble sort int array,int n if 1 flag break void main i bubble sort a,10 for i 0 i 10 i printf d a i printf n 此程式為從小到大排列 incl...

對在一維陣列中存放的整數進行如下操作 從元素開始直到最後元素,依次向前移動位置

int num 10 for int i 1 i 9 i for int j 0 j 10 j c語言編寫函式,對具有10個整數的陣列如下操作 從第n個元素開始直到最後一個,依次向前一個位置,輸出結果.include int main void s int a 10 n 編寫函式,對具有效期0個整數...

在C輸入數到一維陣列中,然後升序排序後輸出,分別用三

include using namespace std void input int arr,int n void sort int arr,int n void output int arr,int n cout endl int main vc6.0 除錯執行通過來.include includ...