Description
注:本题只需要提交标记为修改部分之间的代码,请按照C++语言方式提交。
二元选择排序:对传统的选择排序算法改进,在一趟比较过程中,同时记录最大值和最小值位置,将最小值与第一个元素交换,最大值与最后一个元素交换,即一趟比较确定两个元素,对剩下的序列重复上述过程,直至序列为空。
#include
using namespace std;
int mai...
分类:
编程语言 时间:
2015-01-09 15:39:41
阅读次数:
224
选择排序是比较简单的一种排序,它的主要思想是每次循环找出最小的数,把它放到未排序的子数组的首位,然后进行下一次循环。下一次循环的时候,就多了一个排好序的数,少了一次比较。用python如下实现:defChoose_sort(a):
N=len(a)
foriinrange(0,N):
min_index=i#最小数的起..
分类:
编程语言 时间:
2015-01-09 01:47:07
阅读次数:
275
public static void main(String[] args) {
//要排序的数组
int[] arr = { 2, 5, 7, 1, 3, 8, 6, 4 };
// 控制数组中的每一个元素下标,要比较的那个元素符号
for (int i = 0; i < arr.length; i++) {
//操作与i元素比较的所有元素下标
for (in...
分类:
编程语言 时间:
2015-01-08 22:48:25
阅读次数:
278
在冒泡排序、选择排序编写代码之后,楼主渐渐找到了coding的信心,熟能生巧,就像写词唱曲之前,都得先背诵大量的诗词,熟悉各路歌曲,才干走出自己的路线,有自己的杰作。好吧,来让楼主继续进行"社会主义0基础阶段"的任务,这次是插入排序。一. 算法描写叙述 插入排序:插入即表示将一个新的数据插入到...
分类:
编程语言 时间:
2015-01-08 17:14:08
阅读次数:
103
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移...
分类:
编程语言 时间:
2015-01-07 11:00:45
阅读次数:
133
选择类排序:1:简单选择排序O(n^2),空间O(1)
2:堆排序O(n乘以log以2为底,n的对数),空间复杂度O(1)
//选择排序
void SelectSort(int R[],int n)
{
int i,j,k;
int tmp;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if(R[...
分类:
编程语言 时间:
2015-01-06 18:06:14
阅读次数:
213
鸡尾酒排序,也就是定向冒泡排序, 鸡尾酒搅拌排序, 搅拌排序 (也可以视作选择排序的一种变形), 涟漪排序, 来回排序 or 快乐小时排序,
是冒泡排序的一种变形。此算法与冒泡排序的不同处在于排序时是以双向在序列中进行排序。
与冒泡排序不同的地方:
鸡尾酒排序等于是冒泡排序的轻微变形。不同的地方在于从低到高然后从高到低,而冒泡排序则仅从低到高去比较序列里的每个元素。他可以得...
分类:
编程语言 时间:
2015-01-06 11:56:29
阅读次数:
186
思想:每经过一趟比较就找出一个最小值,与待排序列最前面的位置互换即可。算法分析:时间复杂度O(n2);稳定性:不稳定。 1 #include 2 3 void SelectSort(int a[], int len) 4 { 5 int i, j, k, tmp; 6 for (...
分类:
编程语言 时间:
2015-01-05 16:33:11
阅读次数:
181
昨日写完冒泡排序,和大多数人的感觉一样,太简单,丝毫没有挑战性。但楼主是一个追求踏实平稳的人,希望地基坚固,也为方便后面学习和研究更加高深的算法。但在研究效率上还有待提高,楼主一定好好努力。今天将会写完选择排序 和 插入排序,本文主在选择排序。一. 算法描写叙述 选择排序:比方在一个长度为N的...
分类:
编程语言 时间:
2015-01-04 11:10:34
阅读次数:
106
1.冒泡排序:
思路:将相邻的逆序元素交换为顺序排列,直到整个序列有序,算法如下:
/**
* 冒泡排序-最初实现,时间复杂度O(n^2)
* @param arr 待排序的数组
* @param lo 待排序区间的起始位置
* @param hi 待排序区间的结束位置
*/
public static void bubbleSort(int[] arr, int lo, int ...
分类:
编程语言 时间:
2015-01-03 17:22:28
阅读次数:
242