sort()

简介:

sort()函数是对连续空间排序,最好用数组首地址和偏移量这种写法,如果用 & 地址就必须完全包括进去不然就出现各种奇怪的结果:

头文件<iostream> 和 <algorithm>

【sort排序结构体】请看poj 1543 Perfect Cubes【sort排序结构体】


用 首地址+偏移量 【正确】

#include<iostream>
#include <algorithm>

using namespace std;

int main()
{
    int a[5]={6,5,87,7,9};

	sort(a,a+5);		//最好用这个
	//sort(&a[0],&a[5]);

	int i;
	for(i=0;i<5;i++)
		printf("%d ",a[i]);

	return 0;
}


用 & 地址写法:

sort(&a[0],&a[5]);【正确】



sort(&a[0],&a[4]); 【错误】



sort(&a[1],&a[5]); 【错误】



sort 对于 字符串也可以很好的排序

#include<iostream>
#include <algorithm>

using namespace std;

int main()
{
    char a[6]="bcdae";
	printf("%s\n",a);

	int i;
	for(i=0;i<5;i++)
		printf("%c ",a[i]);
	printf("\n");

	sort(a,a+5);

	for(i=0;i<5;i++)
		printf("%c ",a[i]);

	return 0;
}


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