在前面博客有写英文版的快速查找实现例子,在复习的时候,有了新的领悟。【思想】快速排序算法关键在于先在数组中选择一个数字,接下来把数组中的数字分为两部分,比选择的数字小的移动到数组左边,比选择的数字大的移动到数组的右边。【实例说明】快速排序数组data[] = {2,4,9,3,6,7,1,5},设置第一个数为基准值,将其他元素与其进行比较,数组长度为8,设置两个指针i,j分别指向待排序数组首末下标,...
分类:
编程语言 时间:
2015-05-27 22:50:51
阅读次数:
272
原题链接:http://ac.jobdu.com/problem.php?pid=1349二分。。 1 #include 2 #include 3 #include 4 #include 5 using std::lower_bound; 6 using std::upper_bound; 7 co...
分类:
编程语言 时间:
2015-05-27 13:44:30
阅读次数:
208
//问题是:有一万个员工在公司上班,公司为了统计上班人的年纪分布情况,
//请将这一万多的人的年纪进行排序,分析一个比较好的算法.#include
#include
#include
#include
#include
#define _MAX_AGE_ 100
#define _MIN_AGE_...
分类:
编程语言 时间:
2015-05-26 09:19:05
阅读次数:
140
#include
#define M 4
/****----------------------------------------------*****/
//函数名: BubblesSort(int list[], int n)
//参数: (传入)int list[],待排序数组
// (传入)int n,数组长度
//功能: 使用冒泡排序对书序进行排序
/****...
分类:
编程语言 时间:
2015-05-25 14:38:30
阅读次数:
150
实例(从小向大排序)://数组冒泡算法import java.util.Scanner;public class Test{ public static void main(String[] args){ int[] arr = {23,12,45,24,87,65,...
分类:
编程语言 时间:
2015-05-24 14:14:00
阅读次数:
140
算法:排序和查找(二分查找,归并排序,快速排序),位运算等。查找:顺序查找,哈希查找,二叉排序树查找,哈希表。二分查找可以解决:"旋转数组中的最小数字","数字在排序数组出现的次数"等问题。哈希表:优点:O(1)时间内查找一个元素的效率最高。缺点:需要额外的空间来实现哈希表。二叉排序树查找:对应二查...
分类:
编程语言 时间:
2015-05-18 22:33:39
阅读次数:
280
1函数简单介绍功 能: 使用高速排序例程进行排序头文件:stdlib.h用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));參数: 1 待排序数组首地址2 数组中待排序元素数量3...
分类:
编程语言 时间:
2015-05-13 16:05:25
阅读次数:
140
给出K个排序好的数组,用什么方法可以最快的把他们合并成为一个排序数组?...
分类:
编程语言 时间:
2015-05-13 10:29:54
阅读次数:
200
给一个数组A,和一个整数k,将数组分成两个部分(你可以移动数组中的数),使得左边部分的数都=k。要求使用O(1)的额外空间,和O(n)的时间。...
分类:
编程语言 时间:
2015-05-12 15:42:19
阅读次数:
148
class Program{static void Main(string[] args){//定义一个一维数组int[] arr = {98,1,6,20,16,9};//判断是否发生交换bool b = false;for (int i = 0; i arr[j + 1]){ int tmp.....
分类:
编程语言 时间:
2015-05-11 21:25:42
阅读次数:
180