您的位置:首页 > 其它

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

2015-10-30 14:09 78 查看
#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)
{

}

//**堆排序**
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: