本文共 579 字,大约阅读时间需要 1 分钟。
思想:只限定在数据栈的一端(栈顶)进行元素的操作,是一种特殊的线性表。
操作实例: 二进制转换十进制class Structure(object): def twooten(self,l): m = [] i = len(l) while i > 0: n = l[i-1] * pow(2,len(l)-i) m.append(n) i = i - 1 print sum(m)l = map(int,raw_input().split())o = Structure()o.twooten(l)
注意:
map(int,raw_input().split()) raw_input() 输入的字符串 .split()用空格分割成 list 但是 list中元素还是str即[‘str’,’str’] 于是使用map 函数,将其中的元素Int化。队列是一种特殊的线性表,数据从队尾进入,从队头出队。一般采用的是链式存储。
为什么不采用线性存储(数组形式)? 因为队首出队时候,剩余的元素位置都将向前平移,则算法复杂度为O(n)。如果对头指针进行平移的话,则数组实际存储长度将会变少,所以采用链式存储。转载地址:http://xoiqi.baihongyu.com/