一、基本思路:
冒泡排序是一种简单的交换类排序。其基本思路是从头开始扫描待排序的元素,在扫描过程中依次对相邻元素进行比较,将关键字值大的元素后移。每经过一趟排序后,关键字值最大的元素将移到末尾,此时记下该元素的位置,下一趟排序只需要比较到此位置为止,直到所有元素都已有序排列。
一般地,对n个元素进行冒泡排序,总共需要进行n-1趟。第1趟需要比较n-1次,第2趟需要比较n-2次,......第i...
分类:
编程语言 时间:
2014-09-12 17:20:33
阅读次数:
200
protected void SelectSort(int[] array) { int tmp;//暂存要交换的数据 int t;//交换数据的位置 for (int i = 0; i ...
分类:
其他好文 时间:
2014-09-12 14:47:23
阅读次数:
140
外层循环需要循环和len一样的次数//定义一个函数,该函数返回NSStringvoid bubbleSort(int nums[],unsigned long len){ //控制本轮循环是否发生过交换 //如果没有发生交换,那么说明该数组已经处于有序状态,可以提前结束排序 BOOL has...
分类:
其他好文 时间:
2014-09-11 22:08:02
阅读次数:
187
快速排序:快速排序是对冒泡排序的一种改进。它的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。
一趟快速排序的具体做法:
1、附设两个指针low和high,它们的初值分别为low和high,设枢轴记录的关键字为pivotkey。
2、首先从high所指位置起向前搜索找到第一...
分类:
其他好文 时间:
2014-09-11 09:39:51
阅读次数:
216
排序一直以来都是让我很头疼的事,以前上《数据结构》打酱油去了,整个学期下来才勉强能写出个冒泡排序。由于下半年要准备工作了,也知道排序算法的重要性(据说是面试必问的知识点),所以又花了点时间重新研究了一下。 排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如....
分类:
编程语言 时间:
2014-09-10 17:37:40
阅读次数:
219
排序:public class SortDemo { public static void main(String[] args) { int[] arr = { 5, 8, 9, 12, 55, 565, 421, 12, 2512, -5, -56 }; // ...
分类:
其他好文 时间:
2014-09-10 17:21:40
阅读次数:
204
冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。 它反复地走訪过要排序的数列,一次比較两个元素,假设他们的顺序错误就把他们交换过来。走訪数列的工作是反复地进行直到没有再须要交换,也就是说该数列已经排序完毕。这个算法的名字由来是由于越小的元素会经由交换慢慢“浮”....
分类:
其他好文 时间:
2014-09-10 13:54:30
阅读次数:
217
算法思想:
一共进行 array.size-1趟排序,每一趟排序,都将左右两个数进行比较大小,并且交换位置,这样的效果是:每一趟排序中,能找到最大的值冒泡到该趟排序的最后面,这样的话,第一趟排序,最后一个数是最大的,第二趟排序,倒数第二个数就是第二大的,最后一趟排序后 (因为最后一趟只有一个数,不用比较,所以比较次数是 array.size-1 趟),将得到有序数组
imp...
分类:
其他好文 时间:
2014-09-10 10:51:30
阅读次数:
188
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace maopao
{
class Program
{
static void Main(strin...
分类:
其他好文 时间:
2014-09-09 18:22:39
阅读次数:
163
在看了morewindows的白话经典算法的排序教程后,我用C++ 来...
分类:
编程语言 时间:
2014-09-09 18:20:39
阅读次数:
194