单链表基本操作 李祥
时间: 2024-04-20 10:21:49 浏览: 137
单链表是一种常见的数据构,它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。单链表的基本操作包括以下几个:
1. 初始化:创建一个空链表,将头指针指向NULL。
2. 插入操作:
- 在链表头部插入节点:创建一个新节点,将新节点的指针指向原头节点,然后将头指针指向新节点。
- 在链表尾部插入节点:遍历链表找到最后一个节点,创建一个新节点,将最后一个节点的指针指向新节点。
- 在指定位置插入节点:遍历链表找到指定位置的前一个节点,创建一个新节点,将新节点的指针指向前一个节点的下一个节点,然后将前一个节点的指针指向新节点。
3. 删除操作:
- 删除链表头部节点:将头指针指向头节点的下一个节点,并释放原头节点的内存空间。
- 删除链表尾部节点:遍历链表找到倒数第二个节点,将其指针指向NULL,并释放最后一个节点的内存空间。
- 删除指定位置的节点:遍历链表找到指定位置的前一个节点,将其指针指向要删除节点的下一个节点,并释放要删除节点的内存空间。
4. 查找操作:
- 遍历链表查找指定元素:从头节点开始遍历链表,逐个比较节点的数据元素,直到找到目标元素或者遍历到链表末尾。
- 获取链表长度:遍历链表,统计节点的个数。
5. 修改操作:
- 修改指定位置节点的数据元素:遍历链表找到指定位置的节点,修改其数据元素。
相关问题
分数 1 作者 李祥 单位 湖北经济学院 基本术语 是一组的值的集合,以及定义在这个值的集合之上的一组操作的总称。
这不是一个问题,而是一个关于基本术语的陈述。不过,我可以补充一些相关的内容。除了定义在值的集合之上的操作外,基本术语还包括定义在值的集合之上的关系、函数和谓词等。这些概念在数学、计算机科学、逻辑学等领域都有广泛的应用。例如,在编程中,我们经常需要定义一些变量或数据类型,并在其上实现一些操作和函数,这就涉及到基本术语的概念。
时间的比较* 分数 10 简单 全屏浏览 切换布局 作者 李祥 单位 湖北经济学院 请设计时间类TIME
设计一个时间类(TIME)通常是为了表示日期和时间,可以包含小时、分钟和秒等基本属性,并提供一些常见的操作如加减、比较等。下面是一个简单的Python类示例,它采用了类成员变量和方法来实现时间的表示:
```python
class Time:
def __init__(self, hour=0, minute=0, second=0):
"""
初始化时间类,小时、分钟和秒默认为0
:param hour: 小时 (0-23)
:param minute: 分钟 (0-59)
:param second: 秒 (0-59)
"""
self.hour = hour
self.minute = minute
self.second = second
def set_time(self, hour=None, minute=None, second=None):
"""
设置时间
:param hour: 小时
:param minute: 分钟
:param second: 秒
"""
if hour is not None:
self.hour = hour
if minute is not None:
self.minute = minute
if second is not None:
self.second = second
def get_time(self):
"""
返回当前时间字符串形式
:return: "HH:MM:SS"
"""
return f"{self.hour:02d}:{self.minute:02d}:{self.second:02d}"
def compare(self, other):
"""
比较两个Time对象的大小,返回-1、0或1
:param other: 另一个Time对象
:return: -1 表示self小于other,0 表示相等,1 表示self大于other
"""
total_seconds = self.total_seconds()
other_total_seconds = other.total_seconds()
if total_seconds < other_total_seconds:
return -1
elif total_seconds > other_total_seconds:
return 1
else:
return 0
def total_seconds(self):
"""
转换为总秒数
:return: 总秒数
"""
return self.hour * 3600 + self.minute * 60 + self.second
# 示例使用
t1 = Time(12, 30, 45)
t2 = Time(13, 15, 0)
print(t1.get_time()) # 输出: 12:30:45
print(t1.compare(t2)) # 输出: -1 (因为12:30:45比13:15:0早)
阅读全文