Another C program for quick sort
2013-10-20 16:43
309 查看
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 8
void kuaisu(int *a, int n);
void quick(int *a, int left, int right);
int main()
{
//int i, arr[]={13,19,9,5,12,8,7,4,11,2,6,21};
int i, arr[]={13,19,9,5,12,8,7,21};
printf("\n原数据序列:\n");
for(i=0;i<N;i++)
{
printf("%d ",arr[i]);
}
printf("\n*************************\n");
kuaisu(arr,N);
printf("\n排序后数据序列:\n");
for(i=0;i<N;i++)
{
printf("%d ",arr[i]);
}
printf("\n");
system("pause");
return 0;
}
void kuaisu(int *a,int n)
{
quick(a,0,n-1);
}
void quick(int*a, int left, int right)
{
int f, l, r, s,t;
l=left;
r=right;
s=(left+right)/2;
f=a[(left+right)/2];
while(l<r)
{
while(a[l]<f)
++l;
while(a[r]>f)
--r;
if(l<=r)
{t=a[l];
a[l]=a[r];
a[r]=t;
++l;
--r;
}
}
if(l==r)
l++;
if(left<r)
quick(a,left,l-1);
if(l<right)
quick(a,r+1,right);
}
#include<stdlib.h>
#include<time.h>
#define N 8
void kuaisu(int *a, int n);
void quick(int *a, int left, int right);
int main()
{
//int i, arr[]={13,19,9,5,12,8,7,4,11,2,6,21};
int i, arr[]={13,19,9,5,12,8,7,21};
printf("\n原数据序列:\n");
for(i=0;i<N;i++)
{
printf("%d ",arr[i]);
}
printf("\n*************************\n");
kuaisu(arr,N);
printf("\n排序后数据序列:\n");
for(i=0;i<N;i++)
{
printf("%d ",arr[i]);
}
printf("\n");
system("pause");
return 0;
}
void kuaisu(int *a,int n)
{
quick(a,0,n-1);
}
void quick(int*a, int left, int right)
{
int f, l, r, s,t;
l=left;
r=right;
s=(left+right)/2;
f=a[(left+right)/2];
while(l<r)
{
while(a[l]<f)
++l;
while(a[r]>f)
--r;
if(l<=r)
{t=a[l];
a[l]=a[r];
a[r]=t;
++l;
--r;
}
}
if(l==r)
l++;
if(left<r)
quick(a,left,l-1);
if(l<right)
quick(a,r+1,right);
}
相关文章推荐
- C program for quick sort
- GeeksforGeeks Sort an array according to the order defined by another array
- bubble sort and heap sort and quick sort
- netca 配置监听遇 use another port number:the information provided for this listener is currently in use 提
- Error launching remote program: failed to get the task for process
- Quick sort C# code
- yum提示Another app is currently holding the yum lock; waiting for it to exit
- Program for Linux USB-devices driver step by step (ONE)
- Just another high performance string format function for JavaScript
- Developing Web Services with Open Source - A quick start for Web services technology
- Program for Linux USB-devices driver step by step (ONE)
- Introducing Quick Search Box for Android
- yum提示another app is currently holding the yum lock;waiting for it to exit
- mongodb too much data for sort() with no index
- 使用QuickText Add-ons for Thunderbird
- 快速排序(Quick-Sort)
- STL for_each sort
- Record for Individual Project ( Word frequency program )
- [Tip: C# in VS]Some quick tips for working on C# in VS
- U3D之aabb.IsValid()、IsFinite(outDistanceForSort)、IsFinite(outDistanceAlongView),u3disfinite