Преобразование алгоритма Python в C#. Проблема заключается в следующем
Это код C#. Моя проблема заключается в том, что он печатает семь 1 и 2, когда он должен печатать список vals по порядку. (что-то вроде).
using System; using System.Collections.Generic; namespace ConsoleApp5 { class Program { static void Main() { int[] vals = {6, 5, 3, 1, 8, 7, 2, 4}; //List<int> vals = new List<int> { 6, 5, 3, 1, 8, 7, 2, 4 }; int n = 8; for (int i = 0; i < n; i++)//<= or <? { for (int j = 0; j < n - 1; j += 1 ) { if (vals[j] > vals[j + 1]) { vals[j] = vals[j + 1]; vals[j + 1] = vals[j]; } } } foreach (int num in vals) { Console.WriteLine(vals[num]); } } } }
а это и есть код python:
vals = [6,5,3,1,8,7,2,4] n = len(vals) for i in range(n): for j in range(0, n-1): if vals[j] > vals[j+1]: vals[j], vals[j+1] = vals[j+1], vals[j] print(vals)
Что я уже пробовал:
Я пытался изменить его из массива в список и наоборот, но ничего не изменил.
Я перепробовал много вещей с петлями, в настоящее время они работают так, как задумано.
Спасибо.