快速和选择排序程序示例
来源:互联网 发布:手机无法安装软件 编辑:程序博客网 时间:2024/06/15 14:10
快速排序程序(转的)示例:
#include<stdio.h>#include<string.h>int get_middle(int array[], int start, int end){int front = 0;int tail = end - start;int value = array[start];int length = end - start + 1;int loop = start + 1; int gQuickSort[10]={0};while(loop <= end){if(array[loop] < value){gQuickSort[front] = array[loop];front ++;}else{gQuickSort[tail] = array[loop];tail --;}loop ++;}gQuickSort[front] = value;memmove(&array[start], gQuickSort, sizeof(int) * (length));return start + front ;}void _quick_sort(int array[], int start, int end){int middle;if(start >= end)return;middle = get_middle(array, start, end);_quick_sort(array, start, middle -1);_quick_sort(array, middle + 1, end);}void quick_sort(int array[], int length){int median = 0;if(NULL == array || 0 == length)return;_quick_sort(array, 0, length-1);}int main(){ int array[]={3,85,43,32,76}; int i; quick_sort(array,sizeof(array)/sizeof(int)); for(i=0;i<sizeof(array)/sizeof(int);i++) { printf("%d ",array[i]); } printf("\n"); return 0;}
看完下面的舞蹈视频就知道快速排序的原理了
http://v.youku.com/v_show/id_XMzMyODk4NTQ4.html
选择排序
#include<stdio.h>void selsort(int *array,int length);int main(int argc,char **argv){ int i=0; int s[]={0,3,2,5,4,7,6,9,8,1}; selsort(s,sizeof(s)/sizeof(int)); for(i=0;i<sizeof(s)/sizeof(int);i++) printf("%d ",s[i]); printf("\n"); return 0;}void selsort(int *array,int length){ int temp=0,i,j; for(i=0;i<length;i++) for(j=i+1;j<length;j++) { temp=array[i]; if(temp>array[j]) { array[i]=array[j]; array[j]=temp; } }}
看完下面的视频就能知道选择排序的原理
http://v.youku.com/v_show/id_XMjU4NTY5NTcy.html
- 快速和选择排序程序示例
- 快速排序和快速选择
- 快速排序和快速选择
- 冒泡排序和选择排序、快速排序
- 插入排序,选择排序和快速排序
- Java选择排序和冒泡排序示例
- 选择排序法和快速排序法
- 选择排序和快速排序性能比较
- java数组排序示例(冒泡排序、快速排序、希尔排序、选择排序)
- OC实现选择、插入和快速排序
- java基础冒泡,选择和快速排序
- 记录下三种排序,冒泡,选择,和快速。
- 快速排序,选择排序
- 选择排序/快速排序
- 快速排序,选择排序
- 插入排序、选择排序和快速排序的算法实现
- 归并排序和快速排序C++程序
- 选择排序和快速排序算法原理和Python实现
- Handler
- 二元查找树的后序遍历结果[数据结构]
- xwiki是什么?能做什么?
- solr faceted search
- 设计模式之静态代理
- 快速和选择排序程序示例
- ZOJ Monthly, August 2012
- 翻转句子中单词的顺序[算法]
- JDK1.5的新特性 03
- 进程各个不同数据段的位置
- 求1+2+...+n[C/C++/C#]
- 链表中倒数第k个结点
- JDK1.5的新特性 04
- wangzhi