我在大学里有一项任务,我需要使用按索引排序按照冒泡排序按组编号对其进行排序。我的排序方法不会对所有内容进行排序。 我创建了一个带有必要数据的Student类,带有Student类型数组的Sortings类。我在主类中有这种类型的排序的静态方法,我在其中创建一个Sortings实例并调用我的静态方法进行排序。
public static void index_Sort(Student[]st, int []a)
{
int temp;
for(int k = 0; k < a.length; k++)
{
for(int i = k+1; i < a.length; i++)
{
if(st[a[k]].get_ID() > st[a[i]].get_ID() )
{
temp = a[k];
a[k] = a[i];
a[i] = temp;
}
}
}
}
主要课程
int index[] = {0,1,2,3,4,5};
Student s_arr[] = new Student[6];
s_arr[0] = st; //s_arr.add(st)
s_arr[1] = st1;
s_arr[2] = st2;
s_arr[3] = st3;
s_arr[4] = st4;
s_arr[5] = st5;
System.out.println("__________SORT BY INDEX __________");
index_Sort(new_sort.st,index);
答案 0 :(得分:1)
您没有对学生数组对象进行排序。
您正在对int数组进行排序&#39; a&#39;。
public static void index_Sort(Student[]st)
{
Student temp;
int len = st.length;
for(int k = 0; k < len -1 ; k++)
{
for(int i = k+1; i < len ; i++)
{
if(st[k].get_ID() > st[i].get_ID() )
{
temp = st[k];
st[k] = st[i];
st[i] = temp;
}
}
}
}
主要课程:
Student s_arr[] = new Student[6];
s_arr[0] = st; //s_arr.add(st)
s_arr[1] = st1;
s_arr[2] = st2;
s_arr[3] = st3;
s_arr[4] = st4;
s_arr[5] = st5;
System.out.println("__________SORT BY INDEX __________");
index_Sort(s_arr);