当我运行代码时,数组p没有排序.我弄清楚了
为什么会这样?
import java.util.Arrays;
public class Main {
public static void main (String[] args){
//creating array p
int[] p= new int[] {2,7,8,3,9,1,4,5,6,0 };
//sort p[5] to p[9]
Arrays.sort(p, 5, 9);
for(int l=0;l<p.length;l++)
{
System.out.print(p[l]);
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出为:2783914560
你特别要求对p [5]到p [9]的部分进行排序,不包括上限...所以4个元素已经按顺序排列(1,4,5,6).
如果要排序为P [9] 包容,你应该叫
Arrays.sort(p, 5, 10);
Run Code Online (Sandbox Code Playgroud)
从文档:
toIndex- 要排序的最后一个元素的索引(不包括)
当然,那仍然不会对整个数组进行排序- 只是它的最后一部分,所以你最终会得到{2,7,8,3,9,0,1,4,5,6}.要对整个数组进行排序,只需调用即可Arrays.sort(p).
请注意,使用包含下限和独占上限指定范围的模式在计算中非常常见,您应该习惯它.另一个常见的例子是String.substring:
String text = "0123456789";
String substring = text.substring(0, 5); // 01234
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
72 次 |
| 最近记录: |