阅读850 返回首页    go 阿里云 go 技术社区[云栖]


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;
}


最后更新:2017-04-03 14:53:48

  上一篇:go 网络子系统63_路由子系统处理netlink事件
  下一篇:go 网络子系统69_路由表辅助程序