问题遇到的现象和发生背景
不知道该怎么写,
使用冒泡排序(按升序)对给定的数组排序,并输出每次排序结果以及排序完成后的数组,具体要求如下:
接收给定的数据(如:4 88 43 43 98,其中第一个数代表数组长度,其余数代表数组元素;
创建数组,使用直接选择排序(按升序)对给定的数组排序,并输出每次排序结果以及排序完成后的数组。
不知道该怎么写,
使用冒泡排序(按升序)对给定的数组排序,并输出每次排序结果以及排序完成后的数组,具体要求如下:
接收给定的数据(如:4 88 43 43 98,其中第一个数代表数组长度,其余数代表数组元素;
创建数组,使用直接选择排序(按升序)对给定的数组排序,并输出每次排序结果以及排序完成后的数组。
1.你所说的数组{4 88 43 43 98},第一个4是完全没有必要写入的,因为数组自带Array.Lenght属性。可以求出数组长度。所以没必要带出。
2.如果你想单纯的进行排序,不是学习c#冒泡算法,那么可以是直接调用c# 自带的排序算法。
int[] arr = {88,43,43, 98 ,9,8};
Array.Sort(arr);// 升序排序。
Array.Reverse(arr);// 降序排序。
3如果你想学习排序算法。我提供一个案例,如下:
using System;
namespace Bubble
{
class Program
{
static void Main(string[] args)
{
int[] arr = {88,43,43, 98 ,9,8};
bubbleSort(arr);
}
public static void bubbleSort(int[] nums)
{
for (int i = 0; i < nums.Length - 1; i++)
{
for (int j = 0; j < nums.Length - 1 - i; j++)
{
if (nums[j] > nums[j + 1])
{
int temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
Console.WriteLine("第{0}次排序结果:",i);
for (int j = 0; j < nums.Length;j++)
{
Console.Write(nums[j]+ " ");
}
Console.WriteLine();
}
}
}
}
输出结果: