码迷,mamicode.com
首页 > 编程语言 > 详细

数组:升序和降序

时间:2020-11-16 13:32:55      阅读:11      评论:0      收藏:0      [点我收藏+]

标签:float   space   bool   font   png   编译过程   was   mamicode   ever   

升序
<p>//以下nums为数组</p>

  1. JAVA的升序直接用Arrays.sort(nums)。

  2. C++则是sort(start,end)。
  • eg.<p> 例如nums数组有5个元素,那么对其升序排序应该为sort(nums,nums+5);</p>

降序

1. JAVA的降序是Arrays.sort(nums,Collections.reverseOrder()),但由于此方法不支持基本类型(int,float,double,char等),所以在使用的时候要将int型转换为Integer,flaot为Float。
这里的Integer型转换为int型可以用Integer.valueOf(num)。

例如.

public static void main(String args[]){
      Integer[] nums = {2,3,1,4,5};
      Arrays.sort(nums,Collections.reverseOrder());
      int[] tmp = new int[nums.length];
      for(int i  = 0;i < nums.length;++i){
            tmp[i] = Integer.valueOf(nums[i]);
      }
      for(int i : tmp){
            System.out.print(i + " ");
      }
}

结果图:
技术图片

2. C++则是用sort(nums,nums + 5,compare);


#include <algorithm>
#include<iostream>

using namespace std; 

bool compare(a,b){
      return a > b;//降序排列,如果改成a < b则为升序
}

int main(){
      int nums[] = {2,3,1,4,5};
      sort(nums,nums + 5,compare);
      for(int i = 0;i < 20;++i)
            cout<<nums[i]<<endl;
      return 0;
}

结果图:
技术图片

  • 在这里sort调用头文件#include,然而在编译过程出现了sort was not declared,经过搜索,加上using namespace std;即可。
  • C++的sort()中第一和第二个参数是地址,分别为数组的起始地址first和结束地址last,最后的参数是排序的方法,需自己编辑。

数组:升序和降序

标签:float   space   bool   font   png   编译过程   was   mamicode   ever   

原文地址:https://www.cnblogs.com/Charlo/p/13953870.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!