排序算法

一 冒泡排序
通过左边与右边比较进行交换而实现排序

#include 
int main()
{
	int a[100],i,j,t,n;
	scanf("%d",&n);
	for(i=0;i

二 快速排序

#include 
#include 
int a[101],n;//定义全局变量,这两个变量需要在子函数中使用;
void quicksort(int left ,int right)
{
    int i,j,t,temp;
    if(left>right)
    {
        return;
    }
    temp=a[left];
    i=left;
    j=right;
    while(i!=j)
    {
        //顺序很重要,要先从右往左找,找到小于基准数的数
        while(a[j]>=temp&&i

下面介绍函数库里的排序

一、C中的qsort
代码如下

int compInc(const void *a, const void *b)
{
return *(int *)a - *(int *)b;
}
qsort(a, len, sizeof(a[0]), compInc);

注意 :头文件#include
此时a[0]=最小。
当return *(int *)b - *(int *)a;
a[0]=最大。
二、C++中的sort

sort(a,a+n);

头文件为

#include

a为数组名。n为长度。
这样默认是从小到大。
如果想要从大到小
添加

int cmp(int a,int b)
{
	return a>b;
}

但排序许多时候要排序结构体,保持一项排序,其他的元素跟随不变。
下次在写。

你可能感兴趣的:(排序二分)