快速排序

排序算法

1.         冒泡排序(bubblesort)每轮排序最小的不断往前移

 Void bubblesort(int *PData,int count)

{

int i ,j,tmp

For(i=0;i<count-1;i++)

  For(j=count-1;j<=i;j--)

{

if(PData[j]<PData[j-1])

{

Tmp=PData[j];

PData[j]=PData[j-1];

PData[j-1]=tmp;

}

}

}

2.         交换法(Exchangesort)每轮把第一个位置确定最小,小于第一位置就交换

Void Exchangesort(int *PData,int count)

{

Int I,j,tmp

For(i=0;i<count-1;i++)

{

For(j=i+1;j<count;j++)

{

If(PData[j]<Data[i])

{

Tmp=PData[i];

PData[i]=PData[j];

PData[j]=tmp;

}

}

}

}

3.         选择法(selectsort)

Void SelectSort(int * PData,int count)

{

Int tmp ,ipos,i,j;

For(i=0;i<count-1;i++)

{

Tmp=PData[i];

Pos=I;

For(j=i+1;j<count;j++)

{

 

If(PData[j]<tmp)

{

Tmp=PData[j];

Pos=j;

}

PData[pos]=PData[i];

PData[i]=tmp;

}

}

}

4.         快速排序(quictsort)

Void quictsort(int * PData,int left,int right

{

Int i ,last;

Void swap(int v[],int I,int j);

If(left>=right)

Return ;

Swap(v,left,(left+right)/2);

Last=left;

For(i=left+1;i<=right;i++)

If(v[i]<v[left])

Swap(v,++last,i);

Swap(v,left,last);

Quictsort(v,left,last-1);

Quictsort(v,last+1,right);

}

Void swap(int v[],int I,int j)

{

Int tmp;

Tmp=v[i];

V[i]=v[j];

V[j]=tmp;

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值