读书人

冒泡排序插入排序选择排序 (改一

发布时间: 2013-10-16 11:29:46 作者: rapoo

【原创】冒泡排序,插入排序,选择排序 (改一行代码就可以互转了)附一个:快速排序

排序的时间要 交换值 , 查找的世界要 赋值 。


//by David,CSUer//冒泡排序和插入排序//下面这个是 冒泡排序#include"stdio.h"void swap(int *q,int *p){*q=*q+*p;*p=*q-*p;*q=*q-*p;}void sort(int *a,int l){int i,j;for(i=0;i<l;i++)for(j=1;j<l;j++) // 把这句改成  for(j=i;j>0;j--) 就是插入排序{if(a[j]<a[j-1])      //改成 for(j=0;j<l;j++) if(a[i]<a[j]) swap(&a[j],&a[i]);就是选择排序swap(&a[j],&a[j-1]); }}main(){   int j;int a[]={3,5,8,12,54,236,89,3,1,33};sort(a,10);for(j=0;j<10;j++)printf("%d ",a[j]);}

三种排序代码只差一点点。时间复杂度都是 O(n^2) ,很容易掌握。

建议用 插入排序。


这里附个快速排序:


(明天补充)

读书人网 >编程

热点推荐