编写函数Sort(int Arr[],int n),能对n个整数的数组进行选择排序.其中,交换操作使用函数Swap实现.

如题所述

#include <stdio.h>
void Swap(int *a,int *b)
{
    int t;
    t=*a;
    *a=*b;
    *b=t;
}
void Sort(int Arr[],int n)
{
    int i,j;
    for(i=0;i<n-1;++i)
    {
        for(j=0;j<n-i-1;++j)
        {
            if(Arr[j]>Arr[j+1])
            {
                Swap(&Arr[j],&Arr[j+1]);
            }
        }
    }
}
int main()
{
    int a[10]={9,5,1,2,3,6,8,0,4,7},i;
    Sort(a,10);
    for(i=0;i<10;++i)
    {
        printf("%d ",a[i]);
    }
    return 0;
}

温馨提示:内容为网友见解,仅供参考
无其他回答

...n),能对n个整数的数组进行选择排序.其中,交换操作使用函数Swap实现...
include <stdio.h>void Swap(int *a,int *b){ int t; t=*a; *a=*b; *b=t;}void Sort(int Arr[],int n){ int i,j; for(i=0;i<n-1;++i) { for(j=0;j<n-i-1;++j) { if(Arr[j]>Arr[j+1]) { Swap(&Arr[j],&Arr[j+1...

编写sort函数对n 个整型数按选择法降序排列并输出,要求该函数内对数据...
include #define MAXlen 100void 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++...

编写函数sort ( int *a, int n ),对数组中的n个数降序排序编写main函 ...
int main(){ int arr[] = {8,9,2,1,7,10,3,6,5,4};printf("排序前:\\n");printArr(arr,10);printf("排序后:\\n");sort(arr,10);printArr(arr,10);return 0;}

...程序中,函数sort ()的功能是:用冒泡排序法对数组中n个整数进行升序...
在函数中,给的参数是数组名和数组长度,这也是冒泡法最主要的两个数据了,给你具体实现一下:void sort (int a[],int n){int i,j,temp;for(i=0;i<n-1;i++) \/\/趟数for(j=0;j<n;j++) \/\/次数 if(a[j]>a[j+1]) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } }对N个数的排序...

c语言 编写实现选择法对n个整数按升序排列的函数
h>int main(){ void sort(int array[],int n); int a[100],n,i; scanf("%d",&n); for(i=0; i<n; i++) scanf("%d",&a[i]); sort(a,n); printf("the sorted array:\\n"); for(i=0; i<n; i++) printf("%5d",a[i]); printf("\\n"); ...

C语言. .编写一个Sort函数,完成对整型数组元素升序排列。
include <stdio.h>void sort(int a[], int n) {\/\/选择排序int i,j,k,t;for(i = 0; i < n - 1; ++i) {k = i;for(j = k + 1; j < n; ++j) {if(a[k] > a[j]) k = j;}if(k != i) {t = a[i];a[i] = a[k];a[k] = t;}}}int main() {int ...

写一函数arrsort(int*p,int n)对主函数中的一堆数组进行排序,n个数...
最好理解的排序方法,选择法:(从小到大)for(i =0;i<n;i++){ for(j=i+1;j<n;j++){ if(p[i] >p[j]){ \/\/二者交换 temp =p[i];p[i] =p[j];p[j] =temp;}}} 但是等你以后只是学多了后,你会发现这种方法虽然好理解,但是它的时空效率不高。现在最高的快速排序。排序方法...

什么是选择排序,有什么用处?
下面是使用C语言实现选择排序算法的示例代码:include <stdio.h> void selection_sort(int arr[], int n){ int i, j, max_idx;for (i = 0; i < n - 1; i++) { max_idx = i;for (j = i + 1; j < n; j++) { if (arr[j] > arr[max_idx]) { max_idx = j;} }...

定义函数void sort(int a[],int n),用选择法对数组a 中的元素升序排列...
h>void sort(int a[],int n);int main(){ int a[]={10,8,6,3,2,5,7,9},i; sort(a,8); printf("数组{10,8,6,3,2,5,7,9}排序后:\\n"); for(i=0;i<8;i++) printf("%d ",a[i]); printf("\\n");}void sort(int *a,int n){ int...

...到大的顺序排序的函数void sort(int*p,int n),在主函数中两次调用...
void sort(int *p,int n);int main(){ int i,arr1[6]={3,9,2,8,6,1},arr2[10]={11,5,18,7,2,15,4,13,9,3};sort(arr1,6);sort(arr2,10);printf("排序的结果:\\n");for(i=0;i<6;i++)printf("%3d",arr1[i]);printf("\\n");for(i=0;i<10;i++)printf("%...

相似回答