自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (1)
  • 收藏
  • 关注

原创 排序算法的集锦

排序是将一个数据元素的任意序列,重新排列成一个按关键字有序排列的序列。基本术语:关键字:数据元素中某一数据项的值。内部排序是排序的基础,根据排序过程中所依据的原则可以分为:插入排序,交换排序,选择排序,归并排序和基数排序。 1. 调用qsort()的排序函数2.插入排序直接插入排序shell排序3.交换排序冒泡排序法快速排序4.选择排序简单选

2011-12-07 22:00:35 612

原创 归并排序之----递归

以下代码来自维基百科:采用递归的思想,实现归并排序。归并是指把两个或者多个有序表进行合并,得到一个新的有序表。将两个有序子表合并成一个有序表,称为二路归并。 #include #include #include #include #define Type int#define NUM 12#define Num NUM-1void print(Type A

2011-12-07 20:18:02 601

原创 算法与数据结构注意----待续

少乘除,多移位;少while,多for。

2011-12-07 19:42:57 433

原创 选择排序之----堆排序

堆排序是简单选择排序的改进,是一种不稳定的排序方法。基本思路:对一组待排序的记录序列,先将其关键字按堆的定义排列一个序列(称为初建堆),找到最小(最大)关键字后,将其取出。用剩余的n-1个元素再重建堆,便可得到次小(次大)值。如此反复执行,直到全部关键字排好序为止。#include#define Type int#define MARK 0 //占据a[0],不起实际作

2011-12-07 18:27:12 757

原创 选择排序之----简单选择排序

选择排序是指每次从待排序的记录中选出关键字值最小(或最大)的记录,顺序放在已排序的子序列的后面,直到全部排完。简单选择排序的基本思路:1.查找待排序序列中最小的记录,并将它和该区间第一个记录交换;2.重复1,直到第n-1躺排序结束。简单选择排序是不稳定的排序。#include#define Type intvoid select_sort(Type *buf, in

2011-12-04 16:14:46 913

原创 插入排序之----shell排序

shell排序是插入排序的一种,在时间效率上有较大的改进。是一种不稳定的排序方法。基本思想:选定第一个增量d1 算法的思路:shell排序算法通过三重循环实现;1.外循环以各种不同的间隔距离d进行循环,直到d=1为止。2.第二重循环是在某一个d值下对所分的组进行组循环3.第三重循环是对第二重循环中所分的每个组,进行组内循环。 算法实现:#include#

2011-12-04 11:08:31 826

原创 插入排序之----直接插入排序

直接插入排序是稳定的排序方法。基本思路:依次把待排序的记录逐一按其关键字的大小插入到一个已经排好序的有序序列中去,直到所有的记录插完位置,得到一个新的有序序列。算法的思路:1.设置监视哨x,将待排序的数据赋给x,对于整个数组的排序而言,一般选第二个数据;2.设置开始查找的位置j = i - 1;3.在数组中先前扫描,扫描中将第j个记录后移,并且j--,为下一次循环做准备,直到x

2011-12-04 10:43:23 1061 4

原创 交换排序之----快速排序

快速排序是对冒泡排序的改进,是基于比较的内部排序方法中速度最快,也因此而得名。基本思路:在待排序的数据中,任选一数据作为基准(通常选取第一个数据),把所有数据分为大于此数据和小余此数据的两部分,结束后此数据位于这两部分的中间,并且不再参与排序,这样就完成了一次排序;对所分的前后两部分重新应用此方法进行排序。因此,整个排序的过程要用到递归算法。递归算法:解决问题时,把一个问题转换为一个新问题

2011-12-02 16:41:42 755

原创 交换排序之----冒泡排序法

冒泡排序(bubble sort)属于交换排序的类型,它从数组的一端开始,依次对相邻两元素进行比较,当发现它们不合顺序时就进行依次交换。冒泡排序是稳定的。排序的稳定性是指相等的二个数经排序后这两个数的相对位置不变。程序实现如下:#include#include#define Type int //要转换的数组类型,可以为char ,int,但是注意对 //main

2011-12-02 11:14:46 844

原创 调用qsort()的排序函数

qsort(void * buf, size_t num, size_t size, int(*compare)(const void *,const void *)),其中buf指向要排序的数组,num是数组中元素的个数,size是数组中每个元素的大小,一般用sizeof(数组的类型)来获取,compare指向的函数用于比较数组的两个元素的大小。它包含在中。#include#incl

2011-12-02 10:16:49 930

vi配置成功

Ubuntu下vi编辑器的配置,经本人亲测,可以正常使用.

2012-08-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除