求一段代码,简单链表结构

hejiwang 2006-06-02 10:17:57
假如有如下数据:
id curr next
1 A B
1 B C
1 C D
1 D E
1 E F
假如知道ID=1和curr=B,求最后一个节点E

请用c#写,谢谢大家!
...全文
233 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenyuming2004 2006-06-02
  • 打赏
  • 举报
回复
DataTable dt = new DataTable();

dt.Columns.Add("ID");
dt.Columns.Add("CURR");
dt.Columns.Add("NEXT");

DataRow dr1 = dt.NewRow();
dr1["ID"] = "1";
dr1["CURR"] = "A";
dr1["NEXT"] = "B";
dt.Rows.Add(dr1);

dr1 = dt.NewRow();
dr1["ID"] = "1";
dr1["CURR"] = "B";
dr1["NEXT"] = "C";
dt.Rows.Add(dr1);

dr1 = dt.NewRow();
dr1["ID"] = "1";
dr1["CURR"] = "C";
dr1["NEXT"] = "D";
dt.Rows.Add(dr1);

dr1 = dt.NewRow();
dr1["ID"] = "1";
dr1["CURR"] = "D";
dr1["NEXT"] = "E";
dt.Rows.Add(dr1);

dr1 = dt.NewRow();
dr1["ID"] = "1";
dr1["CURR"] = "E";
dr1["NEXT"] = "F";
dt.Rows.Add(dr1);

string strCurr = "B";
DataRow[] drs = dt.Select("CURR='" + strCurr + "'");

for (;drs.Length != 0;)
{
if (drs[0]["curr"].ToString() == "E")
{
Response.Write(drs[0]["curr"].ToString());
break;
}
strCurr = drs[0]["next"].ToString();
drs = dt.Select("CURR='" + strCurr + "'");
}
lookatliu 2006-06-02
  • 打赏
  • 举报
回复
DataTable dt = new DataTable();

dt.Columns.Add("ID");
dt.Columns.Add("CURR");
dt.Columns.Add("NEXT");

DataRow dr1 = dt.NewRow();
dr1["ID"] = "1";
dr1["CURR"] = "A";
dr1["NEXT"] = "B";
dt.Rows.Add(dr1);

dr1 = dt.NewRow();
dr1["ID"] = "1";
dr1["CURR"] = "B";
dr1["NEXT"] = "C";
dt.Rows.Add(dr1);

dr1 = dt.NewRow();
dr1["ID"] = "1";
dr1["CURR"] = "C";
dr1["NEXT"] = "D";
dt.Rows.Add(dr1);

dr1 = dt.NewRow();
dr1["ID"] = "1";
dr1["CURR"] = "D";
dr1["NEXT"] = "E";
dt.Rows.Add(dr1);

dr1 = dt.NewRow();
dr1["ID"] = "1";
dr1["CURR"] = "E";
dr1["NEXT"] = "F";
dt.Rows.Add(dr1);

string strCurr = "B";

DataTable dtTemp = dt.Copy();

while(dtTemp.Rows.Count > 0)
{
DataRow[] drTemp = dtTemp.Select("CURR = '" + strCurr + "'");

if (drTemp.Length == 0)
{
break;
}
else
{
strCurr = drTemp[0]["NEXT"].ToString();

foreach(DataRow dr in drTemp)
{
dtTemp.Rows.Remove(dr);
}
}
}

DataRow[] drSelect = dt.Select("NEXT = '" + strCurr + "'");
hejiwang 2006-06-02
  • 打赏
  • 举报
回复
为什么没有人理我啊!

110,565

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧