我正在嘗試實現一種快速排序算法來對浮點數組進行排序。每當我引用數組中的索引時,我都會收到此錯誤:無法將類型“float”隱式轉換為“int”。存在顯式轉換(您是否缺少轉換)?這是算法:class Quicksort{ public static void Sort(float[] numbers, int left, int right) { float i = Convert.ToSingle(left); float j = Convert.ToSingle(right); var pivot = numbers[(left + right) / 2]; while (i <= j) { while (numbers[i] < pivot) //ERROR HERE i++; while (numbers[j] > pivot) //ERROR HERE j--; if (i <= j) { float tmp = numbers[i]; //ERROR HERE numbers[i] = numbers[j]; //ERROR HERE numbers[j] = tmp; //ERROR HERE i++; j--; } } if (left < j) Sort(numbers, left, j); if (i < right) Sort(numbers, i, right); }}numbers[i]每當我使用或時出現轉換錯誤numbers[j]我將如何解決這個問題?
如何修復我的 C# 快速排序算法中的隱式轉換錯誤?
慕工程0101907
2022-12-24 10:54:13