基础算法

public static void swap(List list, int i, int j)
        {
            int temp = list[i];
            list[i] = list[j];
            list[j] = temp;
        }


        // 插入排序
 public static void InsertSort(List data)
        {
            for (int i = 0; i < data.Count; i++)
            {
                int value = data[i];
                int index = i - 1;

                // 当下标大于等于0,或者value小于当前下标的的值
                while (index >= 0 && value < data[index])
                {
                    data[index + 1] = data[index];
                    index--;
                }
                data[index + 1] = value;
            }
        }

        // 选择排序
public static void SelectSort(List data)
        {
            for (int i = 0; i < data.Count; i++)
            {
                int min = i;
                int temp = data[i];

                for (int j = 0; j < data.Count; j++)
                {
                    min = j;
                    temp = data[i];
                    if (data[j] < temp)
                    {
                        min = j;
                        temp = data[j];
                    }
                }
                if (min != i)
                    swap(data, i, temp);
            }
        }

你可能感兴趣的:(基础算法)