Я хочу создать программу на C #, которая вводит данные из блокнота, который содержит числа, а затем помещает его в первый список. Затем у меня есть второй список, в котором я хочу показать данные из первого списка, которые сортируются с помощью алгоритма SELECTION SORT. Как я могу этого добиться? Это код, который я написал до сих пор:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Sorting
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
static void selectionSort(int[] list, int n)
{
int i, j;
for (i = 0; i < n; i++)
{
int min = i;
for (j = i + 1; j < n; j++)
if (list[j] < list[min])
{
min = j;
}
int temp = list[i];
list[i] = list[min];
list[min] = temp;
}
private void btn_open_Click(object sender, EventArgs e)
{
string name;
openFileDialog1.Filter = "Text File (*.txt) | *.txt";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
name = openFileDialog1.FileName;
listBox1.Items.AddRange(File.ReadAllLines(name));
}
}
private void btn_sort_Click(object sender, EventArgs e)
{
int[] list = new int[listBox1.Items.Count];
for (int a = 0; a < listBox1.Items.Count; a++)
{
try
{
list[a] = int.Parse(listBox1.Items[a].ToString());
}
catch
{
DialogResult Text = MessageBox.Show("The data types is not number..", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Warning);
break;
}
selectionSort(list, listBox1.Items.Count);
}
for (int i = 0; i < listBox1.Items.Count-1; i++)
{
listBox2.Items.Add(list[i]);
}
}
}
}
Но с сортировкой не сработало .. В чем проблема с моим кодом?