用c#控制台建立一个单链表存储选修数据结构课程学生的信息,并将结果显示到屏幕上,对建好的单链表实现查找,插入,删除,修改等操作
时间: 2024-10-19 11:09:58 浏览: 20
在C#中,我们可以创建一个简单的单链表来存储选修数据结构课程的学生信息。首先,我们需要定义一个节点类`StudentNode`,包含学生的姓名、ID和指向下一个节点的引用:
```csharp
public class StudentNode
{
public string Name { get; set; }
public int ID { get; set; }
public StudentNode Next { get; set; }
public StudentNode(string name, int id)
{
Name = name;
ID = id;
Next = null;
}
}
// 单链表头部
public class CourseLinkedList
{
public StudentNode Head { get; set; }
}
```
接下来,我们可以实现链表的基本操作:
1. **添加元素(插入)**:
```csharp
public void Insert(int id, string name)
{
if (Head == null)
Head = new StudentNode(name, id);
else
{
StudentNode newNode = new StudentNode(name, id);
newNode.Next = Head;
Head = newNode;
}
}
```
2. **查找**:
```csharp
public bool Find(int id)
{
StudentNode current = Head;
while (current != null)
{
if (current.ID == id)
return true;
current = current.Next;
}
return false;
}
```
3. **删除**:
```csharp
public void Delete(int id)
{
if (Head == null || Head.ID != id)
return;
StudentNode temp = Head;
Head = Head.Next;
temp = null;
}
```
4. **修改**:
```csharp
public void Update(int oldId, int newId, string newName)
{
StudentNode current = Head;
while (current != null)
{
if (current.ID == oldId)
{
current.Name = newName;
current.ID = newId;
break;
}
current = current.Next;
}
}
```
最后,为了显示链表内容,可以编写一个遍历并打印的方法:
```csharp
public void Display()
{
PrintList(Head);
}
private void PrintList(StudentNode node)
{
Console.WriteLine($"ID: {node.ID}, Name: {node.Name}");
if (node.Next != null)
PrintList(node.Next);
}
```
现在你可以使用上述代码创建一个新的`CourseLinkedList`实例,然后执行相应的操作。
阅读全文