排序算法(持续更新...)

来源:互联网 发布:mac 10.10.5 升级包 编辑:程序博客网 时间:2024/04/30 00:28
#include <stdio.h>const MAXSIZE = 20;typedef struct {    RcdType  r[MAXSIZE + 1];    int   length;} SqList;//**select sort**void selectsort(SqList &L){    RcdType w;    int i, j, k;    for(i=1; i<L.length; ++i)    {        j = i;        for(k=i+1; k<L.length; k++)            if(L.r[k]<L.r[i])                j=k;        if(j!=i)         {            w=L.r[i];            L.r[i]=L.r[j];            L.r[j]=w;        }    }}//**insert sort**void insersort(SqList &L){    int i, j;    for(i=2; i<L.length; i++)    {        if(L.r[i]<L.r[i-1])        {            L.r[0]=L.r[i];            for(j=i-1; L.r[0]<L.r[j]; j--)                L.r[j+1]=L.r[j];            L.r[j+1]=L.r[0]        }    }}//**bubble sort**void bubblesort(SqList &L) {    RcdType w;    int i, j, index;    i=L.length;    while(i>1)    {        index = 1;        for(j=1; j<i; j++)        {            if(L.r[j+1]<L.r[j])            {                w = L.r[j];                L.r[j] = L.r[i];                L.[i] = w;                index = j;            }        }        i = index;    }}//**quick sort**int partition(RcdType R[], int low, int high){}//**堆排序**
0 0
原创粉丝点击