永发信息网

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

答案:3  悬赏:60  手机版
解决时间 2021-03-10 21:08
  • 提问者网友:沦陷
  • 2021-03-10 08:57
C#
最佳答案
  • 五星知识达人网友:你可爱的野爹
  • 2021-03-10 10:05
用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");
}
全部回答
  • 1楼网友:慢性怪人
  • 2021-03-10 12:12
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(); }
  • 2楼网友:老鼠爱大米
  • 2021-03-10 11:09
#include<stdio.h> #define n 20 void fun(int a[],int n) {  int i,j,t;  for(i=0;i<n-1;i++)   for(j=0;j<n-1-i;j++)    if(a[j]<a[j+1])     t=a[j],a[j]=a[j+1],a[j+1]=t; } void main() {  int a[n]={11,32,-5,2,14},i,m=5;  printf("排序前的数据:");  for(i=0;i<m;i++)      printf("%d ",a[i]);  printf("\n");  fun(a,m);  printf("排序后的顺序:");      for(i=0;i<m;i++)   printf("%d ",a[i]);  printf("\n"); }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯