C#基数排序
using System;using System.Text;
using System.Collections;
using
using System.Data;
namespace a
{
class sort
{
static void Main(string []args)
{
StreamReader sr = new StreamReader("d:\\abc.txt");//读文本文件
string line = sr.ReadLine();
string info = "";
int len=0; //记录文件中记录关键字个数
string []s1=line.Split(new char[]{','});
if(line!=null) //判断记录中关键字个数
foreach(string c in s1)
len++;
List p=new List();
while(line != null)
{
info += line;
line = sr.ReadLine();//读入一条记录
string[] s = info.Split(new char[]{','});//文件中记录用","分开
p.Append(s,len); //添加节点
info="";
}
p.print(); //这个地方调试时出错 }
}
public class ListNode //节点类
{
public string[]keys; //关键字数组
public ListNode link;
public static int Length; //关键字个数
public ListNode(string[]key,int len) //构造函数,生成一个具有len个关键字的结点
{
int i=0;
Length=len;
keys=new string[len];
foreach(string c in key)
{
keys[i]=c;
i++;
}
link=null;
}
public void Print()
{
for(int i=0;i<Length;i++)
Console.Write(keys[i]);
}
}
public class List //链表
{
private ListNode Head; //头结点
private ListNode Tail; //尾结点
private ListNode Current; //当前结点
private int index; //结点个数
public List()
{
Head=null;
Tail=null;
index=0;
}
/// <summary>
/// 尾部添加数据
/// </summary>
public void Append(string [] key,int n ) //传递一个长度为n的字符数组
{
ListNode NewNode=new ListNode(key,n );
if (index==0) //如果头指针为空
{
Head=NewNode;
Tail=NewNode;
}
else
{
Tail.link =NewNode;
Tail=NewNode;
}
Current=NewNode;
index+=1;//链表数据个数加一
}
public void print() //打印链表
{
ListNode p=Head;
while(p!=null)
{
int j=0;
Console.Write("第{}条记录:",j++);
p.Print(); //调用结点打印函数
Console.WriteLine();
p=p.link;
}
}
}
}
未处理的异常: System.FormatException: 输入字符串的格式不正确。
at System.Text.StringBuilder.FormatError()
at System.Text.StringBuilder.AppendFormat(IFormatProvider provider, String fo
rmat, Object[] args)
at System.String.Format(IFormatProvider provider, String format, Object[] arg
s)
at (String format, Object arg0)
at (String format, Object arg0)
at System.Console.Write(String format, Object arg0)
at a.List.print()
at a.sort.Main(String[] args)
[[it] 本帖最后由 hnzzc 于 2008-3-26 13:44 编辑 [/it]]