排序

作者: liu121 | 来源:发表于2018-04-02 21:41 被阅读0次

一、快速排序

void Quick(int[] arr,int leftIndex,int rightIndex)

  {

      if (leftIndex < rightIndex)

      {

          int X = arr[leftIndex];

          int i = leftIndex;

          int j = rightIndex;

          while (i < j)

          {

              while (i < j)

              {

                  if (arr[j]< X)

                  {

                      arr[i] = arr[j];

                      break;

                  }else

                  {

                      j--;

                  }

              }

              while (i< j)

              {

                  if (arr[i] > X )

                  {

                      arr[j] = arr[i];

                      break;

                  }else

                  {

                      i++;

                  }

              }

          }

          arr[i] = X;

          Quick(arr,leftIndex,i- 1);

          Quick(arr,i+ 1,rightIndex);

      }

二、插入排序

public void paixu(int[] arr)

        {

          for (int i = 1; i < arr.Length; i++)

          { 

              int value = arr[i];

              bool isInsert = false;

              for (int j = i -1 ; j >= 0; j--)

              {

                  if (arr[j] > value)

                  {

                      arr[j + 1] = arr[j];

                  }else

                  {

                      arr[j+ 1] = value;

                      isInsert = true;

                      break;

                  }

              }

              if (isInsert == false)

              {

                  arr[0] = value;

              }

          }

        }

三、选择排序

   void xuanZe(int[] arr)

        {

          for (int i = 0; i < arr.Length; i++)

          { 

              int min = arr[i];

              int minIndex = i;

              for (int j = i + 1 ; j < arr.Length; j++)         

              {

                  if (arr[j] < min)

                  {

                      min = arr[j];

                      minIndex = j;

                  }

              }

              if (minIndex != i)

              {

                  int temp = arr[i];

                  arr[i] = arr[minIndex];

                  arr[minIndex] = temp;

              }

          }

        }

相关文章

  • 【恋上数据结构与算法二】(一)排序(Sorting)

    排序方法 冒泡排序 选择排序 堆排序 插入排序 归并排序 快速排序 希尔排序 计数排序 基数排序 桶排序 初识排序...

  • 排序-冒泡排序

    排序系列传递门 排序—选择排序排序—快速排序排序—插入排序排序-希尔排序(待完善)排序—归并排序(待完善)排序—基...

  • 排序

    冒泡排序: 冒泡排序 选择排序: 插入排序: 希尔排序: 归并排序: 快速排序: 堆排序: 计数排序: 桶排序: ...

  • Java | 10种排序算法

    冒泡排序 选择排序 插入排序 希尔排序 计数排序 基数排序 堆排序 归并排序 快速排序 桶排序

  • 常见的排序

    冒泡排序: 选择排序: 插入排序: 快速排序: 希尔排序: 归并排序: 堆排序: 计数排序: 桶排序: 基数排序:

  • 002--20200409刷题

    冒泡排序 选择排序 插入排序 希尔排序 归并排序 快速排序 堆排序 计数排序 桶排序 基数排序

  • 排序

    排序 符号:Θ 插入排序 选择排序 堆排序 归并排序 冒泡排序 快速排序 桶排序 基数排序 计数排序 插入排序 插...

  • 排序 -- 选择/插入

    聊聊排序吧 冒泡排序 选择排序 插入排序 快速排序 归并排序 计数排序 桶排序 堆排序 本篇 选择排序与插入排序 ...

  • 前端基础整理 | 算法基础

    排序算法 冒泡排序 选择排序 插入排序 希尔排序 归并排序 堆排序 快速排序

  • Java 常见的 8 种排序算法(内排序)

    排序分类 内部排序 插入排序:直接插入排序、希尔排序 交换排序:冒泡排序、快速排序 选择排序:直接选择排序、堆排序...

网友评论

      本文标题:排序

      本文链接:https://www.haomeiwen.com/subject/sbzpcftx.html