zoukankan      html  css  js  c++  java
  • Python FIFO算法模拟

    #!/usr/bin/python
     
    array = (7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1)
    memory = []
    pointer = 0
     
    # if the memory is empty
     
     
    def is_empty(_list_):
         if len(_list_) == 0:
             re1 = 1
         else:
             re1 = 0
         return re1
     
     
    # if the memory is empty
     
    def is_fulled(_list_):
         if len(_list_) == 3:
             re1 = 1
         else:
             re1 = 0
         return re1
     
     
    def search(target, _list_):
        exist = 0
        for each_item in _list_:
            if each_item == target:
                exist = 1
                break
        return exist
     
    # put in memory
     
     
    def push(target, _list_, temp):
        if is_empty(_list_) == 1 or is_fulled(_list_) == 0:
            _list_.append(target)
        else:
            if search(target, _list_) == 1:
                print('no exchange')
            else:
                if temp > 2:
                    temp = 0
                    _list_.pop(temp)
                    _list_.insert(temp, target)
                    temp = temp + 1
                else:
                    _list_.pop(temp)
                    _list_.insert(temp, target)
                    temp = temp + 1
        return temp
     
     
    for each_item in array:
        pointer = push(each_item, memory, pointer)
        print(memory)

    结果:结果:
    [7]
    [7, 0]
    [7, 0, 1]
    [2, 0, 1]
    no exchange
    [2, 0, 1]
    [2, 3, 1]
    [2, 3, 0]
    [4, 3, 0]
    [4, 2, 0]
    [4, 2, 3]
    [0, 2, 3]
    no exchange
    [0, 2, 3]
    no exchange
    [0, 2, 3]
    [0, 1, 3]
    [0, 1, 2]
    no exchange
    [0, 1, 2]
    no exchange
    [0, 1, 2]
    [7, 1, 2]
    [7, 0, 2]
    [7, 0, 1]

  • 相关阅读:
    stm32型号与flash大小
    SVN适用教程
    sylixos初接触
    基于stm32实时操纵系统初接触
    freertos任务调度
    flash结构
    nand nor flash
    反汇编文件分析
    mm.与cache
    CISC(复杂指令集)和RISC(简单指令集),x86、ARM、MIPS架构
  • 原文地址:https://www.cnblogs.com/AlinaL/p/12852187.html
Copyright © 2011-2022 走看看