冒泡系列
原理就不详细介绍了,百度很多。
C#代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Hello
{
class Program
{
static void Main(string[] args)
{
//编写一个冒泡序列对一个数组中的10个数值大小进行有小到大的排序
int[] nums = new int[10];
int x;
bool yes;
string str = "";
Random r = new Random();
for(int i=0;i<=9;i++)
{ //产生10个随机数字的一个数组
do
{
x = r.Next(10, 100); //返回的是10-100之间的整数
yes = false;
for (int j = 0; j <= i - 1; j++)
{ //用来保证随机产生的数组中的值没有重复的数字
if (x == nums[j]) yes = true;
break;
}
} while (yes==true);
nums[i] = x;
str = str + (nums[i].ToString()+" ");
}
Console.WriteLine("随机产生的10个数值为:{0}",str.Trim());
int temp;
str = "";
for(int i=0;i<=8;i++)
{ //冒泡序列核心算法
for(int j=0;j<=8-i;j++)
{
if(nums[j]>nums[j+1])
{
temp = nums[j];
nums[j] = nums[j+1];
nums[j + 1] = temp;
}
}
}
for(int i=0;i<=9;i++)
{
str=str+ (nums[i].ToString() + " ");
}
Console.WriteLine("经过排序后的10个整数为:{0}", str.Trim());
Console.Read();
}
}
}