冒泡排序:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 练习1
{
class Program
{
static void Main(string[] args)
{
//建立一个数组对数组进行冒泡排序
int[] Arr1 = { 1, 90, 26, 78, 46, 56, 98, 190, 100 };
//输出
Console.WriteLine("进行从小到大的冒泡排序前,数组为:");
for (int i = 0; i < Arr1.Length; i++)
{
Console.Write(Arr1[i] + " ");
}
//冒泡排序
for (int j=0;j<Arr1.Length;j++)
{
for(int i=0;i<Arr1.Length-1;i++)
{
if(Arr1[i]>Arr1[i+1])//进行从小到大的排序Arr1[i]:Arr1[i+1]数组i的数值:数组i+1的数值 1:2 2:3 3:4 4:5
{
int temp = Arr1[i];
Arr1[i] = Arr1[i + 1];
Arr1[i + 1] = temp;
}
}
}
//输出
Console.WriteLine("");
Console.WriteLine("进行从小到大的冒泡排序后,数组为:");
for (int i=0;i<Arr1.Length;i++)
{
Console.Write(Arr1[i]+" ");
}
}
}
}
运行后的结果为:
选择排序:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 练习2
{
class Program
{
static void Main(string[] args)
{
int[] Arr2 = { 5, 92, 56, 718, 246, 456, 48, 90, 100 };
Console.WriteLine("进行从小到大的选择排序前,数组为:");
for (int i = 0; i < Arr2.Length; i++)
{
Console.Write(Arr2[i] + " ");
}
//选择排序
for (int i=0;i<Arr2.Length-1;i++)
{
int min = i;
for(int j=i+1;j<Arr2.Length;j++)
{
// min: j在循环中进行: 将比min小的值进行交换向后比较,不断比较直到找到最小值Arr2[min]
if (Arr2[min] > Arr2[j])//比较大小
{
min = j;//进行交换以实现向后比较
}
}
int temp = Arr2[i];//max已经发生变化,将max=j位置的值与i位置的值进行交换
Arr2[i] = Arr2[min];
Arr2[min] = temp;
}
Console.WriteLine("");
Console.WriteLine("进行从小到大的选择排序后,数组为:");
for (int i = 0; i < Arr2.Length; i++)
{
Console.Write(Arr2[i] + " ");
}
}
}
}
运行后的结果为: