结果一 题目 C语言编程——选择排序法,要求:由主函数调用排序子函数,对n个整数进行从小到大的排序,谢了 答案 #includevoid sort(int a[],int n) //选择排序{ int i; int j; for(i=0;i相关推荐 1C语言编程——选择排序法,要求:由主函数调用排序子函数,对n个整数进行从小到大的排序,谢了 ...
下面是选择排序算法的C语言代码函数实现: c void selectionSort(int array[], int n){ int i, j, minIndex, temp; for (i = 0; i < n-1; i++) { 寻找最小元素的索引 minIndex = i; for (j = i+1; j < n; j++) { if (array[j] < array[minIndex]) { minIndex = j; } } 将...
int main() { void sort(int array[],int n); int a[10],i; printf("enter array:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); sort(a,10); printf("The sorted array:\n"); for(i=0;i<10;i++) printf("%d ",a[i]); printf("\n"); return 0; } void sort(int array...
void selectionsort(int a[],int m) { int i,j; int k; int tmp; for(i = 0; i < m-1; i++)//控制循环次数,n个数需要n-1次循环 { k = i; for(j = i+1; j < m ; j++) { if(a[j] < a[k]) k = j; } ...
//选择排序算法,按从小到大顺序 void select_sort(int *arr,int n){ int i,j,k;int tmp;for(...
} sortFun(a,SIZE_N); //调用排序函数 for(int j=0;j<SIZE_N;j++){ printf("%d\n",a[j]); //输出数据 } } 以上就是基本的程序,局部可以优化使其更人性化。读入数据和输出数据的方式可以考虑用文件的方式,但排序的函数才是关键。以上程序调试通过,希望可以帮到你。
用选择法对10个整数排序,用scanf输入。如下:include<stdio.h> int main(){ int i,j,min,temp,a[10];printf("enter data:\n");for (i=0;i<10;i++){ printf("please enter ten numbers:\n");scanf("%d",&a[i]); //输入10个数 } printf("\n");printf("The orginal numbers:...
你的程序没错,只不过这不是选择法,是冒泡发,选择发如下:void sort(int *a,int n){ int i,j,t,temp;for(i=0;i<n-1;i++){ t=i;/初始定义t为未排序数的第一个 for(j=i+1;j<n;j++){ if(*(a+t)<*(a+j))/挑选出更大的数的位置,把他赋给t t=j;} temp=*(a+i)...
以后只要有更小的数,记录K的序号 printf("%d\n",array[k]); //循环之后,K肯定是数组里最小的元素的序号,所以输出最小元素 t=array[k];array[k]=array[i];array[i]=t; //交换元素,给数组排序,这是改进后的选择法,记录序号找到最小的元素的序号再交换,节省计算 } ...
int min = i; //假设当前下标为i的数最小 for (int j = i + 1; j < x.Length; j++)/*循环找出最小的数的下标是哪个*/ { if (x[j] < x[min]){ min = j;} } if (min != i) /*如果min在循环中改变了,就需要交换数据*/ { int t = x[i];x[i] = x[ min...