摘要:
http://blog.csdn.net/myjava_024/archive/2008/11/04/3220319.aspx冒泡排序 冒泡排序是最慢的排序算法。在实际运用中它是效率最低的算法。它通过一趟又一趟地比较数组中的每一个元素,使较大的数据下沉,较小的数据上升。它是O(n^2)的算法。快速排序快速排序是一个就地排序,分而治之,大规模递归的算法。从本质上来说,它是归并排序的就地版本。快速排序可以由下面四步组成。(1) 如果不多于1个数据,直接返回。(2) 一般选择序列最左边的值作为支点数据。(3) 将序列分成2部分,一部分都大于支点数据,另外一部分都小于支点数据。(4) 对两边利用递归排 阅读全文
摘要:
排序有很多种方法啦,比如:1 直接插入排序 2 希而排序 3 冒泡排序 4快速排序 5堆排序 6合并排序 7基数排序 8外排序 等等,这里总结一些常用的方法,新人可以学习一下。 冒泡排序法 目的:按要求从大到小或从小到大排序。 基本思路:对尚未排序的各元素从头到尾依次比较相邻的两个元素是否逆序(与欲排顺序相反),若逆序就交换这两元素,经过第一轮比较排序后便可把最大(或最小)的元素排好,然后再用同样的方法把剩下的元素逐个进行比较,就得到了你所要的顺序。可以看出如果有 n 个元素,那么一共要进行 n-1 轮比较,第 i 轮要进行 j=n-i 次比较。(如:有5个元素,则要进行5-1轮... 阅读全文
摘要:
/************************************************************************** * 题目:编写程序实现快速排序与直接选择排序相结合的排序算法。要求对输入 * 的序列,用PARTITION过程分割成小于10个记录为一组的子序列,然后 * 对每个子序列实施直接选择排序。 * 函数: * Swap: 交换两个参数的值 * Rand: 产生 begin至end之间的随机整数 * StraightSelectSort: 直接选择排序 * PARTITION: 分区 * QUICKSOR... 阅读全文
摘要:
#includeusing namespace std;void BubbleSort(int *a,int istart,int len)//冒泡排序{ //a为数组,len为数组长度,对a[istart]~a[len-1]进行排序,小浮大沉 //从后面往前两两比较,小的上浮,直到最顶端a[istart]中存放的是剩余数组中最小的数。 for(int i=len;i>istart+1;i--) { if(a[i-2]>a[i-1]) { int temp=a[i-2]; a[i-2]=a[i-1]... 阅读全文
摘要:
代码// Ch08sort.cpp : Defines the entry point for the console application.//默认是从小到大排序#include #include #include using namespace std;#define SIZE 10#define MAX 10000//直接插入排序080201//原理:每次将待排序的记录,按其关键字大小插入到前边已经排好序的子文件中的适当位置int InsertSort(int arr[],int len){int temp,j;for(int i=1;i0&&arr[j-1]>t 阅读全文
摘要:
typedef用法小结- -注意:本文转自网络,版权归原作者所有。typedeftypedef用法小结- -这两天在看程序的时候,发现很多地方都用到typedef,在结构体定义,还有一些数组等地方都大量的用到.但是有些地方还不是很清楚,今天下午,就想好好研究一下.上网搜了一下,有不少资料.归纳一下:来源一:Using typedef to Curb Miscreant Code Typedef 声明有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法。不管怎样,使用 typedef 能为代码带来意想不到的好处,通过本文你可以学习用 typedef 避免缺欠,从而使代码更健壮。typedef 阅读全文
摘要:
#include#includeusing namespace std;/*简单插入排序:最差时间复杂度:O(n^2)平均时间复杂度:O(n^2)*/void Insertion_Sort(int *a,int n){ int i,j; for(i=2;ia[0];j--) a[j+1]=a[j]; a[j+1]=a[0]; }}/*折半插入排序:最差时间复杂度:O(n^2)平均时间复杂度:O(n^2)*/void Bin_Sort(int *a,int n){ int i,j,low,mid,high; ... 阅读全文
摘要:
常用google产品01.谷歌阅读器(Google Reader):网页版RSS阅读器,方便订阅,组织和分享新闻。有手机版。02.谷歌相册服务(Google Picasa):提供照片的下载和编辑软件,用这个软件Email,上传,张贴照片到博客,也可以直接使用网络相册。03.:Google浏览器Chrome的特点是简洁、快速。04.谷歌文件(Google Docs):您不再需要桌面版的Office了,这个是谷歌的在线Office,你可以创建,发布,共享和协作在线文档和幻灯。05.谷歌记事本(Google Notebook):剪贴文本,图片和链接页面,可以保存,检索或共享。06.谷歌日历(Goog 阅读全文
摘要:
题意:给出N个数,将其中重复出现的去掉,再将新的序列进行排序输出;题意:给出N个数,将其中重复出现的去掉,再将新的序列进行排序输出;#include #include int cmp(const void *a, const void *b) { return *(int *)a-*(int *)b; } int main() { int a[101]; int b[101]={0}; int m; int k=0; while(scanf("%d",&m)!=EOF) { int i,j; for(i=0;i<m... 阅读全文
摘要:
#include#includetypedef struct list{ int data; struct list*left; struct list*right;}List;void insert_list_2nd(List*head,int data);void insert_list_last(List*head,int data);void insert_list_order(List*head,int data);void print_list(List*head);void delete_list(List*head,int value);int main(){ int i; L 阅读全文