純C語言:分治快速排序源碼分享
#include<stdio.h>
void fun(int array[],int low,int high)
{
int i = low;
int j = high;
int temp = array[i];
while(i < j)
{
while((array[j] >= temp) && (i < j))
{
j--;
array[i] = array[j];
}
while((array[i] <= temp) && (i < j))
{
i++;
array[j]= array[i];
}
}
array[i] = temp;
if(i-1>low)
{
fun(array,low,i-1);
}
if(high>i+1)
{
fun(array,j+1,high);
}
else
{
return;
}
}
void main()
{
int array[10];
printf("輸入十個(gè)數(shù)字進(jìn)行快速排序:\n");
for(int i=0;i<10;i++)
{
printf("請(qǐng)輸入第%d個(gè)數(shù):",i+1);
scanf("%d",&array[i]);
}
fun(array,0,9);
printf("對(duì)這十個(gè)數(shù)字從小到大快速排序得:");
for(i=0;i<10;i++)
{
printf("%d ",array[i]);
}
printf("\n");
}
2
#include<iostream.h>
#include<malloc.h>
void interchange(int* m,int* n)
{
int temp=*m;
*m=*n;
*n=temp;
}
int partition(int array[],int p,int q)
{
int i,j;
i=p;
j=q+1;
while(1)
{
do i++;
while((array[i]<array[p])&&(i!=q));
do j--;
while((array[j]>array[p])&&(j!=p));
if(i<j)
interchange(&array[i],&array[j]);
else
break;
}
interchange(&array[p],&array[j]);
return j;
}
void quicksort(int array[],int p,int q)
{
int j;
if (p<q)
{
j=partition(array,p,q);
quicksort(array,p,j-1);
quicksort(array,j+1,q);
}
}
void main()
{
int n,i;
cout<<"please input the number of array:";
cin>>n;
int* a=(int*)malloc(n*sizeof(int));
for(i=0;i<n;i++)
{
cout<<"please the "<<i+1<<"th element :";
cin>>a[i];
}
cout<<"before sort:";
for(i=0;i<n;i++)
cout<<a[i]<<" ";
cout<<endl;
quicksort(a,0,n-1);
cout<<"after sort:";
for(i=0;i<n;i++)
cout<<a[i]<<" ";
cout<<endl;
}
- c語言快速排序算法示例代碼分享
- 用c語言實(shí)現(xiàn)冒泡排序,選擇排序,快速排序
- C語言實(shí)現(xiàn)選擇排序、冒泡排序和快速排序的代碼示例
- C語言使用stdlib.h庫函數(shù)的二分查找和快速排序的實(shí)現(xiàn)代碼
- C語言快速排序函數(shù)用法(qsort)
- C語言的冒泡排序和快速排序算法使用實(shí)例
- C語言中快速排序和插入排序優(yōu)化的實(shí)現(xiàn)
- C語言中使用快速排序算法對(duì)元素排序的實(shí)例詳解
- C語言數(shù)據(jù)結(jié)構(gòu) 快速排序?qū)嵗斀?/a>
- C語言簡單實(shí)現(xiàn)快速排序
相關(guān)文章
C++中函數(shù)使用的基本知識(shí)學(xué)習(xí)教程
這篇文章主要介紹了C++中函數(shù)使用的基本知識(shí)學(xué)習(xí)教程,涵蓋了函數(shù)的聲明和參數(shù)以及指針等各個(gè)方面的知識(shí),非常全面,需要的朋友可以參考下2016-01-01C語言字符函數(shù)isalnum()和iscntrl()詳解
大家好,本篇文章主要講的是C語言字符函數(shù)isalnum()和iscntrl()詳解,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下2022-02-02