python學習記錄-- 資料結構----佇列
def __init__(self,size):
self.queen = [] #隊體為空列表
self.size = size
self.head = 0 #隊首為0
self.tail = 0 #隊尾為0
def isEmpty(self):
if self.head == self.tail: #隊首,隊尾相同時,為空
return True
else:
return False
def isFull(self):
if self.tail == self.size: #隊尾與隊體相同時,已滿
return True
else:
return False
def push(self,obj):
if self.isFull(): #入隊,當滿時,彈出已滿提示
print "sorry,queen is full"
else:
self.queen.append(obj) #新增內容入隊
self.tail += 1 #隊尾位置加1
def out(self):
if self.isEmpty(): #出隊,為空時,彈出為空提示
print "soffy,queen is empty!"
else:
self.tail -=1 #出隊,隊尾位置減1
self.queen.pop(0) #去除隊首內容
def show(self):
print self.queen
if __name__ == '__main__':
q = Queen(3)
q.show()
print q.isEmpty()
q.push("A")
q.show() #['A']
print q.head
print q.tail
q.push("B")
q.show() #['A', 'B']
print q.head
print q.tail
q.push("C")
q.show() #
print q.head
print q.tail
q.out()
q.push("D")
q.show() #['B', 'C', 'D']
print q.head
print q.tail
q.push("E")
q.show() #sorry,queen is full
print q.head
print q.tail
相關推薦
python學習記錄-- 資料結構----佇列
class Queen(): def __init__(self,size): self.queen = [] #隊體為空列表 self.size = size self.head = 0 #隊首為0 self.tail = 0 #
python演算法與資料結構-佇列(44)
一、佇列的介紹 佇列的定義:佇列是一種特殊的線性表,只允許在表的頭部(front處)進行刪除操作,在表的尾部(rear處)進行插入操作的線性資料結構,這種結構就叫做佇列。進行插入操作的一端稱為隊尾,進行刪除操作的一端稱為隊尾。 佇列的型別:鏈式佇列,即用連結串列實現的佇列。靜態佇列:即用陣列實現的
【12】python 棧型資料結構模擬、佇列型資料結構模擬
一、壓棧操作模擬 #__author:"吉*佳" #date: 2018/10/21 0021 #function:棧 # 棧:即是先進後出的一種資料結構 # (1)模擬壓棧操作 stack=[] flag=True while flag: temp = input("請輸入壓棧元素[
Python資料結構——佇列(queue)
先入隊的元素先出隊,即先進先出(first in first out,FIFO)。 在python中同樣可以使用列表,來構建一個佇列。 # -*- coding:utf-8 -*- # file: pyqueue.py # class PyQueue: # 建立佇
【Python學習記錄——從入門到放棄】一、變數和簡單資料型別(上)
本文使用的書籍是《Python程式設計:從入門到實踐》 本文使用的是Python3.6 一、執行hello_world.py 這裡主要是演示了一下print函式的使用,新手主要是在Python版本與print函式上有出入,導致出錯。 還有就是在“中文雙引號”和"英文雙
【Python學習記錄——從入門到放棄】一、變數和簡單資料型別(下)
本文使用的書籍是《Python程式設計:從入門到實踐》 本文使用的是Python3.6 四、數字 在Python中,數字分為整數型和浮點型,不管是整數型還是浮點型都適用於加(+)減(-)乘(*)除(/)。 並且,在Python中,乘方是使用符號**來表示的,求餘數使用
Python實現資料結構佇列約瑟夫環問題
問題描述: 人們站在一個等待被處決的圈子裡。 計數從圓圈中的指定點開始,並沿指定方向圍繞圓圈進行。 在跳過指定數量的人之後,執行下一個人。 對剩下的人重複該過程,從下一個人開始,朝同一方向跳過相同數量
Python資料結構——佇列
佇列是一種列表,不同的是佇列只能在隊尾插入元素,在隊首刪除元素。佇列用於儲存按順序排列的資料,先進先出,這點和棧不一樣,在棧中,最後入棧的元素反而被優先處理。可以將佇列想象成在銀行前排隊的人群,排在最前面的人第一個辦理業務,新來的人只能在後面排隊,直到輪到他們為止。 佇列是一
python學習記錄之---------資料處理(1)陣列/二維陣列的定義和使用
工具/版本(1)安裝環境:Windows7 64bit(2)使用版本Python3.7Python 列表(List)序列是Python中最基本的資料結構。序列中的每個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。定義陣列1、定義一維陣列d
python 學習記錄(7)-迴圈/結構化程式(氣泡排序)
1.1 while 迴圈 #!/usr/bin/python # -*- coding: UTF-8 -*- i = 1 while i <10: i = i + 1 print i # while迴圈 numbers = raw_input
併發無鎖佇列學習(資料結構)
提到平行計算通常都會想到加鎖,事實卻並非如此,大多數併發是不需要加鎖的。比如在不同電腦上執行的程式碼編輯器,兩者併發執行不需要加鎖。在一臺電腦上同時執行的媒體播放放器和程式碼編輯器,兩者併發執行不需要加鎖(當然系統呼叫和程序排程是要加鎖的)。在同一個程序中執行多
重讀《學習JavaScript資料結構與演算法-第三版》- 第5章 佇列
定場詩 馬瘦毛長蹄子肥,兒子偷爹不算賊,瞎大爺娶個瞎大奶奶,老兩口過了多半輩,誰也沒看見誰! 前言 本章為重讀《學習JavaSc
Python學習記錄-socket編程
pythonPython學習記錄-socket編程學習 python socketPython學習記錄-socket編程1. OSI七層模型詳解2. Python socket3. socket()函數4. TCP socket通信流程5. Python Internet 模塊1. OSI七層模型詳解以上圖見
Python學習記錄day5
process its 定義 return 不能 自己 多層裝飾器 環比 方式 1.多層裝飾器 多層裝飾器的原理是,裝飾器裝飾函數後,其實也是一個函數,這樣又可以被裝飾器裝飾。 編譯是從下至上進行的,執行時是從上至下進行。 #!/usr/bin/env python #
python學習記錄三
pri data open 對稱 位置 sleep col pytho -- 一、集合: list_1 = [1,4,5,7,3,6,7,9] list_1 = set(list_1) list_2 = set([2,6,0,66,22,8,4]) #交集 list_
Python學習記錄
安裝 utm tro ont edi exploit blank char str 下載安裝 windows系統下Python環境的搭建 開發工具 PyCharm 一次獲得所有PYTHON工具 Python學習記錄
python 學習記錄一
python 每天學習筆記#!/usr/bin/pytholn# -*- coding: UTF-8 -*-import mathimport sysdef print_13(): #for i in range(10): man_age = int(raw_input(‘enter input age:\
第一天Python學習記錄
clas 也有 python 開始 眼界 大數 log 設備 朋友 之前在學習大數據的時候接觸過Python基礎,今天開始系統學習Python開發知識了,開發基礎,主要是對課程的介紹,Alex侃侃而談,使我眼界大開,特別是看到美國的一些自動化設備的使用率比國內要普及很多,雖
第五天Python學習記錄
學習記錄 pre eve 記錄 語句 pytho spa 結束 就是 while循環 #第50次不打印,第60-80次打印對應值的平方 1 count = 0 2 3 while count <= 100: 4 if count == 50:
第是十一天Python學習記錄2
body 取出 記錄 多級嵌套 tde 字典 default 結構 keys 數據類型-字典 字典是一種key-value的數據類型,使用就像我們上學用的字典,通過筆劃、字母來查對應頁的詳細內容 特性: key-value 結構 key 必須可hash、且必須為不可變數據類