数据价值-DataValues

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 114|回复: 0

[python] python和C语言分别实现快速排序_快速排序c语言实现

[复制链接]

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
39029
发表于 2016-3-31 15:07:38 | 显示全部楼层 |阅读模式
python和C语言分别实现快速排序
关键词:快速排序c语言实现  c语言快速排序  快速排序算法c语言
代码

from random import Random
def quick_sort(arr):
if len(arr) > 1:
qsort(arr,0,len(arr)-1)
def qsort(arr,start,end):
base = arr[start]
pl = start + 1
pr = end
while True:
while arr[pl] > base:
pl += 1
while arr[pr] = pr:
break;
arr[pl],arr[pr] = arr[pr],arr[pl]
arr[start] = arr[pr]
arr[pr] = base
if(pr – 1 > start):
qsort(arr,start,pr – 1)
if(pl + 1
,
最后结果:,
[20, 84, 4, 12, 48, 91, 71, 84, 44, 43, 78, 46, 26, 50, 51, 90, 40, 7, 93, 62]
[93, 91, 90, 84, 84, 78, 71, 62, 51, 50, 48, 46, 44, 43, 40, 26, 20, 12, 7, 4],
C部分:,
代码
/*
* =====================================================================================
*
*       Filename:  quickSort.cpp
*
*    Description:  quick Sort method
*
*        Version:  1.0
*        Created:  11/25/2010 08:52:33 PM
*       Revision:  none
*       Compiler:  gcc
*
*         Author:  Archy Yu
*        Company:
*
* =====================================================================================
*/#include

void swap(int &i,int &j)
{
int k = i;
i = j;
j = k;
}
int Partition(int a[3],int left,int right)
{
int i = left;
int j = right + 1;
int tem = a;
while(true)
{
while(a[++i]  tem);
if(i >= j)
break;
swap(a,a[j]);
}
a[left] = a[j];
a[j] = tem;
return j;
}
void QuickSort(int a[3],int left,int right)
{
if(left
,
转载请注明:数据分析 » python和C语言分别实现快速排序_快速排序c语言实现
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|DataValues ( 赣ICP备16006919号 ) DataValues

GMT+8, 2019-9-22 22:58 , Processed in 0.121177 second(s), 29 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表