数据结构:广义表转置
Posted walter-xh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构:广义表转置相关的知识,希望对你有一定的参考价值。
问题描述
设计算法,将指定的广义表的内容原地逆置。例如:若广义表GL为[1, [2, 3], 4, [5, [6, 7], 8], 9],逆置后GL为 [9, [8, [7, 6], 5], 4, [3, 2], 1] 。
基本思路
如题,一眼就能看出问题具有递归性,因此采用递归来求解,代码就非常简单了。
Python实现
#encoding = utf8 def reverse_table(table): ‘‘‘ 递归 ‘‘‘ if not isinstance(table,list) or len(table)==0: #元素不是list 或者 list的长度为0则返回 return for sub_table in table: reverse_table(sub_table) table_len = len(table) for i in range(table_len//2): table[i], table[table_len-i-1] = table[table_len-i-1], table[i] #switch if __name__ == "__main__": table=[1, [2, 3], 4, [5, [6, 7], 8], 9] reverse_table(table) print(table)
以上是关于数据结构:广义表转置的主要内容,如果未能解决你的问题,请参考以下文章