您的位置:首页 > 其它

直接插入排序

2016-03-07 23:09 423 查看
class Program
{
static void Main(string[] args)
{
Random rd = new Random();
int[] a = new int[20];
for (int i = 0; i < a.Length ; i++)
{
a[i] = rd.Next(1, 100);
}
for (int i = 0; i < a.Length ; i++)
{
Console.Write(a[i] + " ");
}
InserSort(a, a.Length);
Console.WriteLine();
for (int i = 0; i < a.Length ; i++)
{
Console.Write(a[i] + " ");
}
Console.ReadKey();
}

static void InserSort(int[] a, int n)
{
int j, i, t;
for (i = 1; i < n; i++)
{
t = a[i];//取出一个没有排序的数字
//在排序的序列中插入该数字,需要满足插入的位置比t小
for (j = i - 1; j >= 0 && t < a[j]; --j)
{
//小的数就往后排
a[j + 1] = a[j];
}
//大的数就交换
a[j + 1] = t;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: