C program for quick sort
2013-10-19 20:50
281 查看
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 15
void quicksort(int *a,int p,int r);
int partition(int *a,int p,int r);
int main()
{
int arr
,i;
srand(time(NULL));
for(i=0;i<N;i++)
{
arr[i]=rand()/1000+100;
}
printf("\n原数据序列:\n");
for(i=0;i<N;i++)
{
printf("%d ",arr[i]);
}
quicksort(arr,0,N-1);
printf("\n排序后数据序列:\n");
for(i=0;i<N;i++)
{
printf("%d ",arr[i]);
}
printf("\n");
system("pause");
return 0;
}
void quicksort(int *a,int p,int r)
{
int q;
if(p<r)
{
q=partition(a,p,r);
quicksort(a,p,q-1);
quicksort(a,q+1,r);
}
}
int partition(int *a,int p,int r)
{
int i,j,x,t,s;
x=a[r];
i=p-1;
for(j=p;j<r;j++)
{
if(a[j]<=x)
{
i++;
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
s=a[i+1];
a[i+1]=a[r];
a[r]=s;
return i+1;
}
#include<stdlib.h>
#include<time.h>
#define N 15
void quicksort(int *a,int p,int r);
int partition(int *a,int p,int r);
int main()
{
int arr
,i;
srand(time(NULL));
for(i=0;i<N;i++)
{
arr[i]=rand()/1000+100;
}
printf("\n原数据序列:\n");
for(i=0;i<N;i++)
{
printf("%d ",arr[i]);
}
quicksort(arr,0,N-1);
printf("\n排序后数据序列:\n");
for(i=0;i<N;i++)
{
printf("%d ",arr[i]);
}
printf("\n");
system("pause");
return 0;
}
void quicksort(int *a,int p,int r)
{
int q;
if(p<r)
{
q=partition(a,p,r);
quicksort(a,p,q-1);
quicksort(a,q+1,r);
}
}
int partition(int *a,int p,int r)
{
int i,j,x,t,s;
x=a[r];
i=p-1;
for(j=p;j<r;j++)
{
if(a[j]<=x)
{
i++;
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
s=a[i+1];
a[i+1]=a[r];
a[r]=s;
return i+1;
}
相关文章推荐
- Another C program for quick sort
- U3D之aabb.IsValid()、IsFinite(outDistanceForSort)、IsFinite(outDistanceAlongView)
- VS ERROR LNK 1201 ,LINK could not write to the program database (PDB) for the output file
- 在真机上调试时出现“Error launching remote program: failed to get the task for process xxx"的解决方法
- STL算法find,find_if,find_if_not,sort,fill,for_each,count,adjacent_find,random_shuffle,prev_permutation
- quick_sort
- B. Preparing for Merge Sort
- Boost.Interprocess使用手册翻译之二:快速指南 (Quick Guide for the Impatient)
- Exceeded memory limit for $group, but didn't allow external sort. Pass allowDiskUse:true to opt in.
- lua的table.sort 中出现 invalid order function for sorting
- Quick Sort with Python
- build program for hpc 2.02
- poj 2388 Quick_sort 求中间值
- Program Remote Key For 2014 Ford Mustang Via SKP-900
- 使用QuickText Add-ons for Thunderbird
- Java for LeetCode 148 Sort List
- VS 安装助手,弹出“The security key for this program currently stored on your system does not appear to be ”
- Video For Linux 2 Sample Program Documentation
- C program for 折半查找
- Algorithm: Quick Sort Mind and Related Questions