已知一个int类型的数组,用冒泡排序法将数组中的元素按从大到小的顺序排列
收起
知与谁同
2018-07-21 11:28:20
2637
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