class node():
def __init__(self,data,next=none):
self.data=data
self.next=next
class link():
def __init__(self):
self.head=none
def add(self,data):
one=node(data)
if self.head==none:
self.head=one
else:
n=self.head
while n.next!=none:
n=n.next
n.next=one
def dayin(self):
n=self.head
while n!=none:
print(n.data)
n=n.next
x=link()
x.add(1)
x.add(2)
x.add(10)
x.dayin()
結果為:1 2 10
佇列思想
eg:
a=
while true:
bh=int(input("請輸入編號:"))
if bh==1:
data=int(input("請輸入入隊資料:"))
elif bh==2:
if len(a)==0:
print("空佇列")
else:
print("刪除第乙個元素",a[0])
del a[0]
elif bh==3:
print(a)
else:
break
結果為:
棧的思想
eg:
a=
while true:
bh=int(input("請輸入編號:"))
if bh==1:
d=int(input("請輸入資料:"))
elif bh==2:
if len(a)==0:
print("空棧")
else:
print("出棧資料",a.pop())
elif bh==3:
print(a)
else:
break
結果為:
折半查詢的遞迴演算法
def zbcz(a,low,high,key): #a代表要查詢的範圍,low表示從哪個位置開始查詢
#high代表,結束的最高位置,key代表要查詢的內容
if low<=high: #如果範圍正常,那麼繼續查詢
mid=(low+high)//2 #從中間位置開始查詢
if a[mid]==key: #如果等於中間的那個值,返回中間的下標
return mid
elif key>a[mid]: #如果要找的值比中間的值大,那麼向右找
return zbcz(a,mid+1,high,key)
elif key氣泡排序
eg:#while迴圈
a=[5,4,3,2,1]
i=0while ia[j+1]: #如果前面的數比後面的大,那就交換
a[j],a[j+1]=a[j+1],a[j] #交換
j=j+1 #比較次數的步長+1
i=i+1 #比較趟數的步長+1
print(a)
# for迴圈
a=[5,4,3,2,1]
for i in range(len(a)-1):
for j in range(len(a)-i-1):
if a[j]>a[j+1]:
a[j],a[j+1]=a[j+1],a[j]
print(a)
簡單選擇排序
while迴圈
a=[5,4,3,2,1]
i=0while i求乙個列表裡重複的內容
eg:a=[1,1,2,2,2,3,3,3,3,4,4]
b=set(a)
print(b)
for i in b:
print(i,"出現了",a.count(i))
Python 基礎 物件導向 多型 二十四
1.多型 物件導向三大特性 封裝根據 職責 將屬性和方法 封裝到乙個抽象的類 中 定義類的準則 2.繼承實現 的重用,相同的 不需要重複的編寫 多型不同的 子類物件呼叫相同的 父類方法,產生不同的執行結果 2.多型案例演練 在 dog 類中封裝方法 game 普通狗只是簡單的玩耍 2.定義 xiao...
python基礎知識(十四)
一些有關函式和迴圈的聯絡 判斷a是否以b開頭 eg 方法一 a abcdef b abcd i 0 while i len b if a i b i print flase break i i 1 else print true 結果為 true 方法二 函式 eg abcdef b abcd de...
二十四點演算法
給出四個數,不可以重複使用,可以用 和括號,怎麼得出24?return 1 表示當前方法不行 private int workbystep int op,int num1,int num2 else if op 1 else if op 2 else if op 3 只要沒有有小數生成,即使有負數也...