开发者社区> 问答> 正文

已知一个int类型的数组,用冒泡排序法将数组中的元素按从大到小的顺序排列

C#

展开
收起
知与谁同 2018-07-21 11:28:20 2642 0
2 条回答
写回答
取消 提交回答
  • 用sort函数,例如 int a[10]; sort(a,a+10) 头文件 “algorithm”
    上面为快排
    冒泡:
    void main()
    {
    int i,j,temp;
    int a[10];
    for(i=0;i<10;i++)
    scanf ("%d,",&a[i]);
    for(j=0;j<=9;j++)
    { for (i=0;i<10-j;i++)
    if (a[i]>a[i+1])
    { temp=a[i];
    a[i]=a[i+1];
    a[i+1]=temp;}
    }
    for(i=1;i<11;i++)
    printf("%5d,",a[i] );
    printf("\n");
    }
    2019-07-17 22:49:58
    赞同 展开评论 打赏
  • 社区管理员
    static void Main(string[] args)
    {
    int[] arr = new int[] { 3, 9, 27, 6, 12, 21, 16 };//定义一个一维数组,并赋值
    foreach (int m in arr)
    {
    Console.Write(m + " ");//循环遍历定义的一维数组,并输出其中的元素
    }
    Console.WriteLine();
    //定义两个int类型的变量,分别表示数组下标和存储新的数组元素
    int j, temp;
    for (int i = 0; i < arr.Length - 1; i++)//根据数组下标的值遍历数组元素
    {
    j = i + 1;
    id://定义一个标识,以便从这里开始执行语句
    if (arr[i] < arr[j])
    {
    temp = arr[i];
    arr[i] = arr[j];
    arr[j] = temp;
    goto id;
    }
    else
    if (j < arr.Length - 1)//判断是否执行到最后一个元素
    {
    j++; //如果没有则再往后判断
    goto id; //返回标识,继续后面的元素
    }
    }
    foreach (int n in arr)//循环遍历排序后的数组元素并输出
    Console.Write(n + " ");
    Console.WriteLine();
    Console.ReadKey();
    }
    2019-07-17 22:49:58
    赞同 展开评论 打赏
问答分类:
C#
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

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