私はリンクリストを扱っています。私のコンストラクターは、アイテムを含む配列を取得するか、クリックしてリストにアイテムを (一度に 1 つ) 追加しBtnAddTree
ます。実験的な理由から、リストからアイテムの位置を取得する方法を見つけようとしています。うまく表示される 3 つのボタンを設定しました: first
、next
、last
項目、およびlabel
. Retrieve
私は自分のニーズを達成するために 2 つの関数を作成しましCurrent_Tree()
たが、ここで行き止まりになります。next
ループを使用する必要がある可能性がある項目を表示することは承知していますが、その方法がわかりません。リストで見つかった項目の位置を表示するにはどうすればよいですか?
public class ListForTrees
{
//Retrieve Position of item
public void Retrieve(int Position)
{
int new_position = Position;
fruit_trees current = first_tree;
for (int i = 0; i < Position && current != null; i++)
{
current = current.next_tree;
}
return current;
}
//Show Current Tree
public void Current_Tree()
{
try
{
current = fruit_trees.first_tree;
labelSpecificTree.Text = current.Type.ToString();
}
catch { };
}
}
ListForTrees mainlist = new ListForTrees();
private void BtnGo_Click(object sender, EventArgs e)
{
fruit_trees[] ax = { new fruit_trees("cherry", 48, 12.95, 3),
new fruit_trees("pine", 36, 9.95, 8),
new fruit_trees("oak", 60, 14.95, 2),
new fruit_trees("peach", 54, 19.95, 3),
new fruit_trees("pear", 36, 11.85, 2),
new fruit_trees("apple", 62, 13.45, 5)
};
mainlist = new ListForTrees(ax);
fruit_trees current = mainlist.first_tree;
while (current != null)
{
TxtOutput.AppendText(current.ToString() + Environment.NewLine);
current = current.next_tree;
}
}
private void ShowNextItem_Click(object sender, EventArgs e)
{
//Show Next Item
}
private void ShowLastItem_Click(object sender, EventArgs e)
{
//Show Last Item
}
private void ShowFirstItem_Click_1(object sender, EventArgs e)
{
// Show First Item
}
}
}