算法
铁蛋山竹
这个作者很懒,什么都没留下…
展开
-
最大堆 排序
卸载最前面,下面的所有讨论都是基于二叉堆一:什么是堆:堆是一个数组结构,可以看着为一颗完全二叉树,把这颗完全二叉树按层从上到下,每层从左至右编序号,每个序号所对应的元素即为数组中该序号的元素;该树出最后一层以外每一层都排满,最后一层从左至右,先左孩子再右孩子排列,如果有父节点没有排满孩子(无孩子或无右孩子),只可能是右边的父节点未排满孩子。因此该结构有如下结构:如果节点i,则它...原创 2012-04-15 01:04:59 · 111 阅读 · 0 评论 -
快速排序
快速排序是一种分而治之的算法,从待排序数组中找到一个元素并把这个元素放到该位置,使该元素的左边元素全部小于该元素,该元素的右边元素都大于该元素,从而把这待排序列以该元素为界分成了两个子的序列,堆这两个子序列分别重复这个过程 #include <stdio.h>void exchange(int *pArray, int l, int r){ int tmp =...原创 2012-04-15 12:46:30 · 113 阅读 · 0 评论 -
在一堆未排序的的数组中找第x大数
#include <stdio.h>#include <stdlib.h>#include <time.h>void exchange(int *pArray, int l, int r){ int tmp; tmp=pArray[l]; pArray[l] = pArray[r]; pArray[r]=tmp;}i...原创 2012-04-17 00:02:13 · 171 阅读 · 0 评论