首页 > 代码库 > 用C#写的几种排序算法
用C#写的几种排序算法
1、冒泡法排序
class Program
{ //冒泡法排序
public static void sort(int[] list)
{
int i, j, temp;
j = 1;
while (j < list.Length)
{
for (i = 0; i < list.Length-j; i++)
{
if (list[i] > list[i + 1])
{
temp = list[i];
list[i] = list[i + 1];
list[i + 1] = temp;
}
}
j++;
}
}
static void Main()
{
int[] array = new int[] { 1, 3, 3, 6, 10, 45, 66, 2, 67, 12, 64, 75, 33, 47 };
sort(array);
foreach (int b in array)
{
Console.Write(b+",");
}
Console.ReadKey();
}
}
2、选择法排序
j++;
}
}
static void Main()
{
int[] array = new int[] { 1, 3, 3, 6, 10, 45, 66, 2, 67, 12, 64, 75, 33, 47 };
sort(array);
foreach (int b in array)
{
Console.Write(b+",");
}
Console.ReadKey();
}
}
2、选择法排序
class Program
{
//选择法排序
public static void sort(int[] list)
{
int min;
for (int i = 0; i < list.Length - 1; i++)
{
min = i;
for (int j = i + 1; j < list.Length; j++)
{
if(list[j]<list[min])
min=j;
}
int t=list[min];
list[min] = list[i];
list[i] = t;
}
}
static void Main()
{
int[] array = new int[] { 1, 3, 3, 6, 10, 45, 66, 2, 67, 12, 64, 75, 33, 47 };
sort(array);
foreach (int b in array)
{
Console.Write(b+",");
}
Console.ReadKey();
}
}
3、插入法排序
{
//选择法排序
public static void sort(int[] list)
{
int min;
for (int i = 0; i < list.Length - 1; i++)
{
min = i;
for (int j = i + 1; j < list.Length; j++)
{
if(list[j]<list[min])
min=j;
}
int t=list[min];
list[min] = list[i];
list[i] = t;
}
}
static void Main()
{
int[] array = new int[] { 1, 3, 3, 6, 10, 45, 66, 2, 67, 12, 64, 75, 33, 47 };
sort(array);
foreach (int b in array)
{
Console.Write(b+",");
}
Console.ReadKey();
}
}
3、插入法排序
class Program
{
public static void Sort(int[] list)
{
for (int i = 1; i < list.Length; i++)
{
int t = list[i];
int j = i;
while ((j > 0) && (list[j - 1] > t))
{
list[j] = list[j - 1];
j--;
}
list[j] = t;
}
}
static void Main()
{
int[] array = new int[] { 1, 3, 6, 8, 10, 45, 66, 2, 67, 12, 64, 75, 33, 47 };
Sort(array);
foreach (int b in array)
{
Console.Write(b + ",");
}
Console.ReadKey();
{
public static void Sort(int[] list)
{
for (int i = 1; i < list.Length; i++)
{
int t = list[i];
int j = i;
while ((j > 0) && (list[j - 1] > t))
{
list[j] = list[j - 1];
j--;
}
list[j] = t;
}
}
static void Main()
{
int[] array = new int[] { 1, 3, 6, 8, 10, 45, 66, 2, 67, 12, 64, 75, 33, 47 };
Sort(array);
foreach (int b in array)
{
Console.Write(b + ",");
}
Console.ReadKey();
}
}
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。