0
我基本上想從我的硬盤讀取文本文件,然後使用冒泡排序對文本文件中的字符串元素進行排序(使用IComparable
接口)。我知道這可能是一個愚蠢的問題,但我卡在這裏:代碼低於使用冒泡排序和IComparable接口對文本文件排序
using System.IO;
namespace Pratictice
{
public partial class CfrmPractice : Form
{
public CfrmPractice()
{
InitializeComponent();
}
private static T[] BubbleSort<T>(T[] list) where T : IComparable
{
T temp;
bool isSorted = false;
while (!isSorted)
{
isSorted = true;
for (int i = 0; i < list.Length - 1; i++)
{
if (list[i].CompareTo(list[i + 1]) > 0)
{
temp = list[i];
list[i] = list[i + 1];
list[i + 1] = temp;
isSorted = false;
return (T) Convert.ChangeType(isSorted[bool],typeof(T));
}
}
}
}
private void btnSort_Click(object sender, EventArgs e)
{
}
public void LoadDataSource()
{
ofdLoadData.InitialDirectory = Application.StartupPath;
//ofdLoadData.FileName = "Text FIles (.txt)|*.txt|All Files (*.*)|*.*|";
if (ofdLoadData.ShowDialog() == DialogResult.OK)
{
try
{
using (StreamReader f = new StreamReader(ofdLoadData.FileName))
{
string sLine;
string[] Fields;
while (!f.EndOfStream)
{
sLine = f.ReadLine();
Fields = sLine.Split(' ');
lstLoadData.Items.Add(Fields[0]);
}
}
}
catch (Exception error)
{
MessageBox.Show(error.Message, "Practice");
}
}
}
private void LoadData_Click(object sender, EventArgs e)
{
LoadDataSource();
}
private void lstLoadData_SelectedIndexChanged(object sender, EventArgs e)
{
}
class Compare : IComparable
{
public string FileName;
public int CompareTo(object obj)
{
if (this.FileName == ((Compare)obj).FileName)
return 0;
else if (this.FileName != ((Compare)obj).FileName)
return 1;
else
return -1;
}
}
}
}
爲什麼一般?這是一個文本文件嗎?不是由'string's組成的文本文件嗎? – 2013-04-03 22:32:16