簡體   English   中英

為什么我的選擇排序算法總是出錯

[英]why do i keep getting errors in my selection sort algorithm

因此,根據我的講座、書籍和我在網上找到的內容,我的代碼是正確的,但無論我做什么,我都會遇到相同的錯誤。 它變得非常令人沮喪,任何幫助都會很棒。

public class OrderedArrayList extends UnorderedArrayList
{

public OrderedArrayList(int size)
{
      super(size);
}

public OrderedArrayList()
{
    super();
}

    //Copy constructor
public OrderedArrayList(OrderedArrayList otherList)
{
    super(otherList);
 }

public void sort()
{// start sort
int min;
for (int i = 0; i < list.length; i++) 
{
    min = i;
    for (int j = i + 1; j < list.length; j++)
     {
        if (list[j] < list[min]) 
        {
            min = j;

        }
     }
    if (min != i)
     {
        final int temp = list[i];
        list[i] = list[min];
        list[min] = temp;
     }
    System.out.println(list[i]);//  print in ascending order  
    }


 }// end sort

}

這是錯誤:

 ----jGRASP exec: javac -g OrderedArrayList.java
  OrderedArrayList.java:29: error: bad operand types for binary operator '<'
        if (list[j] < list[min]) 
                    ^
  first type:  DataElement
 second type: DataElement
 OrderedArrayList.java:37: error: incompatible types: DataElement 
 cannot be converted to int
        final int temp = list[i];
                             ^
  OrderedArrayList.java:39: error: incompatible types: 
  int cannot be converted      to DataElement
        list[min] = temp;
                    ^
   3 errors

無論我為整數字符串編寫什么數據類型,我每次都會遇到相同的錯誤。 本實驗要求它是 DataElement。

這是您使用 DateElement 而不是 int 的排序方法。

public void sort() {// start sort
    int min;
    for (int i = 0; i < list.length; i++) {
        min = i;
        for (int j = i + 1; j < list.length; j++) {
            if (list[j].compareTo(list[min]) < 0) {
                min = j;
            }
        }
        if (min != I) {
            final DateElement temp = list[i];
            list[i] = list[min];
            list[min] = temp;
        }
        System.out.println(list[i]);//  print in ascending order  
    }
}

請注意,我沒有檢查排序本身,我只是解決了 DateElement 的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM