当前位置:编程学习 > C#/ASP.NET >>

一个冒泡排序小疑问 大家帮忙



public static void bsort()
{
int i,j,temp = 0;

for(i=0;i<data.length-1;i++)
{
for(j=data.length-1;j>i;j--)
{
if (data[j-1]>data[j])
{
temp = data[j];
data[j] = data[j-1];
data[j-1] = temp;
}
}
}
}


为什么这里 
for(i=0;i<data.length-1;i++)
{
for(j=data.length-1;j>i;j--)

要用  data.length-1 啊??

求解 !! --------------------编程问答-------------------- 如果用   i<data.length 

会出现   Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10

数组下标越界 错误  --------------------编程问答-------------------- 不-1的话data[j]不会越界么~~ --------------------编程问答-------------------- 就是因为这样才这样写啊!一般这种情况你打个断点就明白了。 --------------------编程问答-------------------- 数组下标是从0开始的
比如array(9). 它的下标是 array[0]到array[8]. --------------------编程问答--------------------
引用 4 楼 stubble 的回复:
数组下标是从0开始的
比如array(9). 它的下标是 array[0]到array[8].


对  就是这样  你打个断点就明白了
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,