sort

简介: #include<iostream> #include<algorithm> #include<cstdio> using namespace std; int a[10]= {5435,-532,9,4,-94,9435,0,-43,-47,43}; bool cmp1(int x,int y) { return x>y;
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
int a[10]= {5435,-532,9,4,-94,9435,0,-43,-47,43};
bool cmp1(int x,int y)
{
    return x>y;
}
bool cmp2(int x,int y)
{
    if(x<0 && y<0)
        return x<y;
    if(x>=0 && y>=0)
        return x>y;
    return x<y;
}
int main()
{
    int i,n;
    n=10;
    sort(a,a+n);  //默认从小到大
    for(i=0; i<n; i++)
        printf("%d  ",a[i]);
    printf("\n");
    sort(a,a+n,cmp1);  //重载
    for(i=0; i<n; i++)
        printf("%d  ",a[i]);
    printf("\n");
    sort(a,a+n,cmp2);
    for(i=0; i<n; i++)
        printf("%d  ",a[i]);
    printf("\n");

    return 0;
}

  

#include<stdio.h>
#include<algorithm>
#include<cstring>
using namespace std;
typedef struct Data
{
	int  sorce;
	char name[20];
} DATA;
bool cmp1(DATA a, DATA b)
{
	return a.sorce < b.sorce;
}
//多个要求的sort排序
bool cmp2(DATA a, DATA b)
{
	if(a.sorce==b.sorce)
        return strcmp(a.name,b.name)>0?0:1;
    return a.sorce<b.sorce;
}
int main(int argc, char *argv[])
{
	DATA data[5];
	int i;
	for(i = 0; i < 5; i++)
	{
		scanf("%s %d", data[i].name, &data[i].sorce);
	}
	puts("输出结果:");
	//sort(data, data + 5, cmp1);
	sort(data, data + 5, cmp2);
	for(i = 0; i < 5; i++)
	{
		printf("%s %13d\n", data[i].name, data[i].sorce);
	}
	return 0;
}
/*********************

xiaoming 85
yangyang 86
honghong 96
xiaonang 96
aingming 86

********************/

  

目录
相关文章
|
8月前
|
算法 搜索推荐 C++
【C++】sort()、stable_sort()和partial_sort()排序函数详解
【C++】sort()、stable_sort()和partial_sort()排序函数详解
233 0
|
8月前
|
搜索推荐 算法 Java
sort-05-insert sort 插入排序算法详解
这是一个关于排序算法的系列文章总结,包括冒泡排序、快速排序、选择排序、堆排序、插入排序等10种排序算法的详细讲解和Java实现。插入排序是一种简单直观的排序算法,通过构建有序序列并逐个插入新元素来排序。提供的Java代码展示了插入排序的实现过程,并附有测试示例。所有算法已开源在GitHub项目[https://github.com/houbb/sort](https://github.com/houbb/sort)中。
|
8月前
|
存储 分布式计算 搜索推荐
sort-10-bigfile sort 大文件外部排序
这是一个关于排序算法系列的概述,包括冒泡排序、快速排序、选择排序、堆排序、插入排序、希尔排序、归并排序、计数排序、桶排序和大文件外部排序。大文件排序通过文件拆分、独立排序、合并排序和优化合并步骤实现,尤其适用于不能一次性加载到内存中的数据。该方法的时间复杂度为O(n log n),空间复杂度为O(n)。文章提供了一个Java实现的`BigFileSort`类,用于大文件的排序操作。代码中使用了归并排序的策略进行合并,并考虑了磁盘I/O的影响。完整代码可在GitHub的开源项目中找到。
|
8月前
|
搜索推荐 算法 Java
sort-07-merge sort 归并排序
这是一个关于排序算法的系列文章摘要。文章涵盖了多种排序算法的详细解释,包括冒泡排序、快速排序、选择排序、堆排序、插入排序、希尔排序、归并排序、计数排序、桶排序以及大文件外部排序。归并排序是一种效率为O(nlogn)的排序算法,基于分治法,将序列分成两半,分别排序后再合并。文章提供了Java实现的递归和迭代版本。在归并排序的递归实现中,代码通过不断拆分和合并子序列完成排序,而迭代实现则是通过逐步增大子序列长度并进行两两归并来排序。整个系列可在GitHub找到相关源码。
|
搜索推荐 C++
C++利用sort进行排序
C++利用sort进行排序
|
8月前
|
搜索推荐 数据库 C++
带用排序等法sort讲解
带用排序等法sort讲解
53 0
|
8月前
|
C++
C++如何进行sort的使用——C++如何进行排序
C++如何进行sort的使用——C++如何进行排序
167 0
|
NoSQL Redis
SORT
SORT
114 0
|
搜索推荐 C++
sort()函数详解
sort()函数详解
152 0