c語言怎樣通過函式呼叫實現選擇排序法

2021-08-10 04:07:27 字數 3785 閱讀 3607

1樓:泡影果果

1、寫一個簡單選擇排序法的函式名,包含引數。int selectsort(int * listdata,int listlength);

2、寫兩個迴圈,在迴圈中應用簡單選擇插入排序:

int selectsort(int * listdata,int listlength)

int i , j ;

int length = listlength;

for(i=0;i<=length-2;i++)

int k = i;

for(j=i+1;j<=length-1;j++)

if(listdata[k]>listdata[j])

k=j;

if(k!=i)

int tmp = listdata[i];

listdata[i] = listdata[k];

listdata[k] = tmp;

return 0;

3、對編好的程式進行測試,得出測試結果:

int main()

int testdata[5] = ;

int i = 0;

printf("排序之前的結果\n");

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

printf("|%d|",testdata[i]);

int retdata = selectsort(testdata,5);

printf("排序之後的結果:\n");

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

printf("|%d|",testdata[i]);

return 0;

4、簡單選擇排序中,需要移動的記錄次數比較少,主要的時間消耗在對於資料的比較次數。基本上,在比較的時候,消耗的時間複雜度為:n*n。

2樓:匿名使用者

#include

main()

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

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

printf("\n");}

3樓:匿名使用者

樓上那個是冒泡:

#include

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

, i;

selection_sort(a, 10);

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

return 0;}

c語言,編寫一個函式,函式是用選擇排序法將陣列排序

4樓:匿名使用者

px(10)

改為 px(a)

c語言程式設計——選擇排序法,要求:由主函式呼叫排序子函式,對n個整數進行從小到大的排序,謝了

5樓:匿名使用者

#include

#define size_n 20 //size_n is the size of the array

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

sortfun(a,size_n); //呼叫排序函式for(int j=0;j

6樓:倒黴熊

#include

void sort(int a,int n) //選擇排序}if(c !=i) //進行交換。}}int main()

;sort(a,10);

int i;

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

getchar();

return 0;}

編寫函式,使用選擇排序法對陣列進行排序(用c語言)

7樓:匿名使用者

#include

#include

#include

int main(void)

if(i!=tmp)

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

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

printf("\n");

return 0;

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

8樓:匿名使用者

#include "stdio.h"

void sort(const int, int*);

int main(int argc, char** argv) ;

int i = 0;

int arraysize = sizeof(array)/sizeof(array[0]);

sort(arraysize, array);

for (i = 0; i < arraysize; ++ i)return 0;

}//選擇排序

62616964757a686964616fe78988e69d8331333332616465

void sort(const int size, int* array)}}}

編寫函式selectsort()實現選擇法排序,用主函式呼叫完成對一個陣列元素的降序排序。

9樓:醉臥南窗聽秋雨

#include"stdio.h"

void selectsort(int a,int n)selectsort(a,n);

printf("大小順序為:\n");

for(i=0;i

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

if(i==b)

putchar('\n');}

c語言:給定一陣列,包涵n個元素,設計功能函式,使用選擇排序法,對其進行從大到小排序

10樓:

//選擇排序演算法,按從小到大順序

void select_sort(int *arr,int n)//如果最小元素的下標不是後面n-i+1的未排序序列的第一個元素,則需要交換第i個元素和後面找到的最小元素的位置

if(k != i)}}

c語言如何用呼叫函式的方法把5個數字從小到大排序?

11樓:風吹的小羊

1、在開頭bai處定義了兩個du

指標變數point_1和point_2。但此時他zhi們並未指向任何dao一個回變數,只是提供兩答

個指標變數,規定他們可以指向整形變數,至於指向哪一個整形變數,要在程式語句中指定。程式第6,7兩行的作用就是使point_1指向a,point_2指向b,此時point_1的值為&a(即a的地址),point_2的值為&b。

2、第10行輸出*point_1和*point_2的值,其中的「*」表示「指向」。*point_1表示「指標變數point_1所指向的變數」,也就是變數a。*point_2表示「指標變數point_2所指向的變數」,也就是變數b。

從執行結果來看他們也就是100和10.

3、程式中有兩處出現*point_1和*point_2,但是兩者含義不同。程式第5行的*point_1和*point_2表示定義兩個指標變數*point_1和*point_2。它們前面的「*」只是表示該變數是指標變數。

程式最後10行中的printf函式中的*point_1和*point_2則表示指標變數point_1和point_2所指向的變數。

c語言函式呼叫例子,c語言中函式呼叫有三種方法,能幫忙各舉個例子嗎

include int main void printstar void print message 比如,你有bai一個函式du 整數划來分問題自,有點難理解 include main int q int n,int m c語言中呼叫函式的方 復法及步驟 1 首先制需要輸入想要呼叫的函式。2 然後...

C語言函式的遞迴呼叫

先呼叫函式f,然後把返回值賦值給z。不過這個函式不對,沒有退出條件,無法停止。舉例說明吧 int f int x else 假如f 3 那麼第一次f 3 x!0,呼叫f 2 第二次f 2 x!0,呼叫f 1 第三次f 1 x!0,呼叫f 0 第四次f 1 x 0,返回1 返回第三次呼叫f 1 返回1...

c語言怎麼呼叫庫函式求函式值,c語言中不用庫函式怎麼求冪指數

c cos 3.5678 就是呼叫庫函式。include之後,與使用你自己定義的函式的方法一樣,直接用。f 不指定寬度,整數部分全部輸出並輸出6位小數。m.nf 輸出共佔m列,其中有n位小數,如數值寬度小於m左端補空格。m.nf 輸出共佔m列,其中有n位小數,如數值寬度小於m右端補空格。c語言中不用...