冒泡排序、直接插入排序、选择插入排序

来源:互联网 发布:淘宝店经营类目怎么改 编辑:程序博客网 时间:2024/06/06 02:43

冒泡排序,从后往前,从小到大

 int[] arr = new int[10] { 1, 12, 6, 7, 5, 2, 11, 8, 10, 9 };            foreach (int number in arr)//输出排序前的数组                Console.Write(number + " ");            Console.WriteLine();            int temp;            for (int i = 0; i < arr.Length - 1; i++)            {                for (int j = arr.Length - 1; j > i; j--)                {                    if (arr[i] > arr[j])                    {                        temp = arr[i];                        arr[i] = arr[j];                        arr[j] = temp;                    }                }            }            foreach (int number in arr)//输出排序后的数组                Console.Write(number + " ");            Console.WriteLine();

直接插入排序

int[] arr = new int[10] { 1, 12, 6, 7, 5, 2, 11, 8, 10, 9 };            foreach (int number in arr)//输出排序前的数组                Console.Write(number + " ");            Console.WriteLine();            int temp;            int i,j;            for (i = 1; i < arr.Length; i++) //              {                temp = arr[i];                for (j = i - 1; j >= 0; j--)                {                    if (temp < arr[j])  //如果插入的值小于某个值,则退出循环                          break;                    arr[j + 1] = arr[j];                }                arr[j + 1] = temp;            }              foreach (int number in arr)//输出排序后的数组                Console.Write(number + " ");            Console.WriteLine();

选择插入排序

int[] arr = new int[10] { 1, 12, 6, 7, 5, 2, 11, 8, 10, 9 };            foreach (int number in arr)//输出排序前的数组                Console.Write(number + " ");            Console.WriteLine();            int min;            for (int i = 0; i < arr.Length - 1; i++)            {                min = i;                for (int j = i + 1; j < arr.Length; j++)                {                    if (arr[j] < arr[min])                        min = j;                }                int t = arr[min];                arr[min] = arr[i];                arr[i] = t;            }            foreach (int number in arr)//输出排序后的数组                Console.Write(number + " ");            Console.WriteLine();
阅读全文
0 0
原创粉丝点击