棧的應用之進製轉換:我們在大一的計算機基礎甚至高中的課程都已經了解了進製,以及不同進製的轉換方法。所謂進製,就是多少進製的幾次冪,例如十進位制下的233.就是2乘以10的平方加上3乘以十的一次方再加上3乘以10的0次方,
演算法:十進位制轉換為二進位制,採用的是除以二求餘數的2演算法,在除二的過程中,得到的餘數是從低到高的次序,而輸出是從高到低,所以需要乙個站來反轉次序
from pythonds.basic.stack import stack
defdividby2
(decnumber)
: remastack=stack(
)while decnumber>0:
remastack.push(decnumber%2)
decnumber=decnumber //
2#整除二得到的商
binstinf=
""while
not remastack.isempty():
binstinf=binstinf+
str(remastack.pop())
return binstinf
其實實現這種反轉我們只要利用一些函式的特性就能在列表上實現棧的功能`
def
dividby2
(decnumber)
: a=
#設定乙個空列表
while decnumber>0:
2)#將餘數依次加入到列表中去
decnumber=decnumber //
2 c=
''while
len(a)
>0:
c = c +
str(a.pop())
#將列表中的元素依次從末尾開始加到空字串上
return c
dividby2(
10)
python教程(二) 資料結構初探
這一節,我來簡單講講python自帶的資料結構。列表是常用的python資料結構,類似於c語言的陣列,用來儲存多個元素,與之不同的是,c語言的陣列中的元素的型別是相同的,而列表可以是不同型別的元素。建立乙個列表可以用一對方括號擴起的用逗號,分隔的值 元素 來表示 list1 a b 123,1.2 ...
資料結構 二
字串處理 strlen 用來計算字元的長度,並不包括結束字元 0 空字元長度為0 1 include 2 3 int strlen char string 4 10 int main 11 strcpy char str1,char str2 用來拷貝字串,把str2每個字元都拷貝到str1中,直到...
資料結構(二)
1.順序表和煉表綜合 在遞增有序的順序表中程式設計實現a a b c typedef intelemtype include sqlist.h 即為資料結構 一 順序表部分 include int main else continue else continue output mylist1 sys...