排序算法(快速排序,选择排序......)【泪光2929】

hello,大家好!今天给大家分享一下各种排序:

1,选择排序

  • 首先从原始数组中 选择最小的1个数据,将其和位于第1个位置的数据交换。
  • 接着从剩下的n-1个数据中选择次小的1个元素,将其和第2个位置的数据交换
  • 然后,这样不断重复,直到最后两个数据完成交换。 最后,便完成了对原始数组的从小到大的排序。

选择排序动画

2,插入排序

  • 第一部分包含了这个数组的所有元素,但将最后一个元素除外,
  • 而第二部分就只包含这一个元素(即待插入元素)。
  • 在第一部分排序完成后,再将这个最后元素插入到已排好序的第一部分中。

插入排序动画

3,冒泡排序

  • 比较相邻的两个元素,如果前者比后者大(反之倒序),则交换。
  • 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。
  • 针对所有的元素重复以上的步骤。
  • 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

冒泡排序动画

4,快速排序

  • 把所有比57小的数放在57的左面,把比57大的数放在57的右面
  • 两边同时进行,左边找大的,右边找小的,把小的放左边,大的放右边

快速排序动画

你可能感兴趣的:(【泪光2929】代码仓,排序算法)