Я пытаюсь реализовать сортировку Insertion в одной из моих программ. То, что я пытался создать, - это программа сортировки (как в порядке возрастания, так и в порядке убывания). Однако я попытался с такими алгоритмами, как quicksort и merge-sort, я действительно новичок в C# и кодировании. Проблема, с которой я столкнулся, заключается в том, что мои файлы включают в себя как строку кода, так и двойное/целое число (пример: 75.350, 74.430, четверг, пятница), и поскольку этот алгоритм предназначен для целых чисел. Есть ли способ его конвертировать, пожалуйста?Алгоритм сортировки вставки C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
StreamReader sh1Open = new StreamReader("c:..\\Files\\SH1_Open.txt");
string Sh1OpenString = sh1Open.ReadToEnd();
int[] x = { Convert.ToInt32(Sh1OpenString) };
int j;
int temp;
for (int i = 1; i < x.Length; i++)
{
j = i - 1;
while (j >= 0 && x[j]>x[j+1])
{
temp = x[j];
x[j] = x[j + 1];
x[j + 1] = temp;
j = j - 1;
}
}
for (int i = 0; i < x.Length; i++)
{
Console.WriteLine(x[i]);
}
Console.ReadKey();
}
}
}
Как бы вы отсортировали целое число 123 и строку «123». Что такое «больше»? – DrKoch
Эта строка является фиктивной: 'int [] x = {Convert.ToInt32 (Sh1OpenString)};' возвращает единственную строку для полного файла в массиве int с одним элементом. – DrKoch
Вы можете преобразовать все в строку (используя метод ToString), а затем отсортировать их как строки – kskyriacou