排序算法详解 C# 版

概述

一般使用的八大排序算法是:插入排序、选择排序、冒泡排序、希尔排序、归并排序、快速排序、堆排序、基数排序,每个方法有其适合的使用场景,可以根据具体数据进行选择.

冒泡排序

        //冒泡排序,比较相临两个数的大小,如 lst[i]>lst[i+1],则互换位置
        static int[] BubbleSort(int[] lst)
        {
            for (int i = 0; i < lst.Length - 1; i++)
            {
                for (int j = 0; j < lst.Length; j++)
                {
                    if (lst[i] > lst[j]) 
                    {
                        int temp = lst[j];
                        lst[j] = lst[i];
                        lst[i] = temp;
                    }
                }
            }
            return lst;
        }

选择排序

        //选择排序,找最大/最小值加入列表
        static int[] SelectSort(int[] lst)
        {
            for (int i = 0; i < lst.Length - 1; i++)
            {
                int minVal = lst[i];
                int minIndex = i;
                for (int j = i + 1; j < lst.Length; j++)
                {
                    if (minVal > lst[j])
                    {
                        minIndex = j;
                        minVal = lst[j];
                    }
                }
                int temp = lst[i];
                lst[i] = minVal;
                lst[minIndex] = temp;
            }
            return lst;
        }
posted @ 2023-12-21 14:38  xueweil  阅读(8)  评论(0编辑  收藏  举报