循環配列クラスを作成するプロジェクトがあり、使用する言語はpythonです。私はPythonのクラスに慣れていませんが、いくつかのWebページや本の章を読んだ後、それらがどのように機能するかを理解していると思います。しかし、私は助けが必要なので、私はここSOで素晴らしい先生に来るだろうと思いました:)
私たちのクラスは、いくつかの操作を実装できなければなりません。前に挿入、後ろに挿入、インデックスに挿入、前から削除、後ろから削除、インデックスから削除。
コーディングを始めましたが、いくつかの問題が発生しています。構文が正しいかどうかは100%わかりません。
これが私がこれまでに持っているものです:
class circular:
def __init__(self):
self.store = []
self.capacity = len(self.store)
self.size = 0
self.startIndex = 0
self.endIndex = 0
def decrementIndex(self):
index = index - 1
if index < 0:
self.store = self.store + self.capacity
def incrementIndex(self):
index = index + 1
if index == self.capacity:
index = index - self.capacity
def addToBack(self, value):
self.store[self.endIndex] = value
self.endIndex = incrementIndex(self.endIndex)
self.size += 1
def addToFront(self, value):
if self.size == 0:
addToBack(self, value)
else:
self.startIndex = decrementIndex(self.startIndex)
self.store[self.startIndex] = value
self.size += 1
私はそこで立ち止まって、いくつかの関数、主にaddTofrontとaddTobackのテストを開始しました。c = Circular()およびc.addToBack(2)を使用してIDLEでテストすると、インデックスエラーが発生します...理由はわかりません。それだけが問題ではありません。それは私が行き詰まり、前進するための助けが必要なところです。
怠惰で問題の調査を試みていないからではなく、助けが必要で学びたいという理由でここに投稿しています。すでにありがとう!