线性表相关实例

学习视频是华中大的内容,感谢分享
在这里插入图片描述
在这里插入图片描述
如果直接按照以前的思路,这个我自己纯c语言思路实现,不可能这么简洁。水平有限,基本是要另外创建一个新的数组来存放非零元素,然后最后再给其他空余位置赋零。但是一个好的算法,就是简洁。num[j++] = num[i]真的是妙。j++保证了非零数据可以按序赋值进去。第二个for循环,前面已经把非零元素都赋值好了,这边就把剩下的位置直接赋零。优美,奈斯
在这里插入图片描述
temp临时保持num[i]的数值 假定每个num[i]都是0 并对其赋值为0如果本次循序的temp比对不是0那就把本次对应的j位赋值temp(temp为0的情况是直接跳过赋值过程)依旧优美

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
链式线性表是一种数据结构,其中每个元素都包含下一个元素的指针,以此将所有元素链接在一起。以下是一个简单的链式线性表实例: ```python class Node: def __init__(self, data=None): self.data = data self.next = None class LinkedList: def __init__(self): self.head = None def add(self, data): new_node = Node(data) if self.head is None: self.head = new_node else: current_node = self.head while current_node.next is not None: current_node = current_node.next current_node.next = new_node def remove(self, data): if self.head is None: return if self.head.data == data: self.head = self.head.next return current_node = self.head while current_node.next is not None: if current_node.next.data == data: current_node.next = current_node.next.next return current_node = current_node.next def search(self, data): current_node = self.head while current_node is not None: if current_node.data == data: return True current_node = current_node.next return False def print_list(self): current_node = self.head while current_node is not None: print(current_node.data, end=' ') current_node = current_node.next print() ``` 在这个实例中,`Node`类表示链式线性表中的一个元素,其中包含数据和指向下一个元素的指针。`LinkedList`类表示整个链表,它包含一个指向链表头部的指针。 `add()`方法用于向链表末尾添加新元素,`remove()`方法用于从链表中删除指定元素,`search()`方法用于在链表中查找指定元素,`print_list()`方法用于打印整个链表。 使用这个链式线性表实例,您可以轻松创建和管理一个链式线性表,例如: ```python linked_list = LinkedList() linked_list.add(1) linked_list.add(2) linked_list.add(3) linked_list.print_list() # 输出: 1 2 3 linked_list.remove(2) linked_list.print_list() # 输出: 1 3 print(linked_list.search(3)) # 输出: True print(linked_list.search(2)) # 输出: False ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值