开发者社区> 问答> 正文

用选择排序法,编程,输入十个不同大小的数,输出按从小到大排序??谢谢!!

用选择排序法,编程,输入十个不同大小的数,输出按从小到大排序??谢谢!!

展开
收起
知与谁同 2018-07-16 09:13:06 1761 0
2 条回答
写回答
取消 提交回答
  • 社区管理员
    public class TestSort {
    public static void selectSort(int[] a){
    int i;
    int j;
    int temp=0;
    int flag=0;
    int n=a.length;
    for(i=0;i<n;i++){
    temp=a[ i];
    flag=i;
    for(j=i+1;j<n;j++){
    if(a[ j]<temp){
    temp=a[ j];
    flag=j;
    }
    }
    if(flag!=i){
    a[ flag]=a[ i];
    a[ i]=temp;

    }
    }
    }

    public static void main(String[] args) {
    long i=0;
    int[] a={10,9,1,4,5,2,8,0,3,7,6};
    selectSort(a);
    for(i=0;i<a.length;i++);
    System.out.println(a[ i]+"");
    System.out.println("\n");
    }

    }
    这是Java选择排序法
    2019-07-17 22:50:22
    赞同 展开评论 打赏
  • #include "stdio.h"
    #include "math.h"
    #include "malloc.h"
    #define array_size(theArray) ((sizeof(theArray)) / sizeof((theArray[0])))
    /*排序*/
    void sort(int *input,int num)
    {
    int i=0;
    int j=0;
    int temp=0;
    printf("num=%d\n",num);
    for(;i<num-1;i++)
    {
    for(j=i+1;j<num;j++)
    {
    if(input[i]<input[j])
    {
    temp=input[i];
    input[i]=input[j];
    input[j]=temp;
    }
    }
    }
    for(i=0;i<num;i++)
    printf("input[%d]=%d\n",i,input[i]);
    }
    /*排序的数的个数*/
    int* input1_data(int num)
    {
    int i=0;
    int *input_data=(int *)malloc(num);;
    for(;i<num;i++)
    {
    printf("输入数据%d\n",i);
    scanf("%d",&input_data[i]);
    }
    return input_data;
    }
    void main()
    {
    int num=0;
    int *input_data;
    int j=0;
    printf("请输入排序数的个数!\n");
    scanf("%d",&num);
    input_data=(int *)malloc(num);
    input_data=input1_data(num);
    sort(input_data,num);

    }
    如后续有需要,一零一霸气三四六二七;
    2019-07-17 22:50:22
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载