已知一个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");
}
上面为快排
冒泡:
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");
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯