我不知道天气这个解决方案是最好的方法,说实话我不认为它是。
但是心中已经制成的小片的代码排序在下面的步骤的数组:
使一个for循环,从0到array.size() * array.size()
。
做一个索引变量(INT),这是0出方在循环的循环
添加一个尝试捕捉,抓住OutOfBoundsException,在catch设置索引在尝试你您的阵列的 '索引',
char c = array[index]
,并比较指数+1
c.compareTo(array[index +1])
如果这是一个正数> 0切换这两个项目位阵列[指数]和阵列[索引+ 1]
如果它没有意义的,你,我可以提供一个代码示例,但从现在不是前2小时,约..
这就是我的意思:
public static ArrayList<mContact> SortByName(ArrayList<mContact> arr)
{
int i = 0;
for (int o = 0; o < arr.size() * arr.size(); o++)
{
try
{
int c = arr.get(i).getName().compareTo(arr.get(i + 1).getName());
if (c > 0)
{
mContact con = new mContact(arr.get(i).getName());
arr.get(i).setName(arr.get(i+1).getName());
arr.get(i+1).setName(con.getName());
}
i++;
}
catch (IndexOutOfBoundsException ex)
{
i = 0;
}
}
return arr;
}
的排序按升序排列联系人姓名列表。
compareTo方法返回一个整数,表示两个字符串的差异。如果它们相同,则为0!
编写一个代码进行排序。 – 2012-02-17 05:32:40
你需要为你的任务使用冒泡排序吗? – Woot4Moo 2012-02-17 05:32:47
目前尚不清楚你在问什么。你问如何[写一个气泡排序算法](http://stackoverflow.com/questions/832765/whats-a-bubble-sort)?或者你问如何访问数组中的单个项目? – Lee 2012-02-17 05:35:26