// 项目名:Test_Array
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
/* 测试冒泡排序算法,利用了数组组织数据,因为冒泡排序操作的就是数组。
* 这个主要是练习了自己先前对冒泡排序的理解。事实是:我能独立自己的推导出来了,理解的还是不错的。
* 冒泡排序算法是用2个for循环,遍历数组,对数组中的数字按大小关系排序的算法。这里用整型数组。
*/
namespace Test_Array
{
class Program
{
/* //就在入口点函数写
*
*/
static void Main(string[] args)
{
//定义数组 Test
int[] Test = { 1,3,5,7,9,4,8,2,9,6}; //10个数字,大小顺序是错乱排着的。
//输出排序前的数组元素
Console.WriteLine("//输出排序前的数组元素");
Console.WriteLine("Test 的各个项是:");
foreach (int Item in Test)
{
/* //Item 代表数组Test里的所有的元素。操作 Item就等于是操作数组的所有元素。
* foreach 循环中,是按着元素下标:0,1,2 ... 的顺序遍历数组的。
*/
Console.Write(Item + ", ");
}
Console.WriteLine(); //输出换行
/*
* 开始排序
* 这就是冒泡排序算法
*/
for (int times = 0; times < Test.Length;times++ ) //进行 Test.Length 次的循环。times取意,仅表示次数。
{
//这只是判断并替换了一个元素,让这一轮替换中最小数字移到最后方。
for (int j = 0; j < Test.Length - 1 - times; j++)
{
/*
* 减一次的缘故是:当排序一次,就会少一个要排序的数字,即:内层for循环循环次数就要少一次。所以times的前头一定要是个“-”负号。
*/
if (Test[j] < Test[j + 1]) //假设Test[0]是最小的,当遇到比它还小的数字时,就与之交换。
{
int temp; //实现交换
temp = Test[j];
Test[j] = Test[j + 1];
Test[j + 1] = temp;
}
}
}
//输出排序后的数组元素
Console.WriteLine("//输出排序后的数组元素");
foreach (int Item in Test)
{
Console.Write(Item + ", "); //Write()函数括号中不可以为空。
}
Console.WriteLine(); //输出空行
}
}
}
<img src="https://img-blog.csdn.net/20150114172737294?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhlbmdoYW9xaWFuZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" style="font-family: Arial, Helvetica, sans-serif;" alt="" />