python数据结构---顺序线性表


class SeqList:
    def __init__(self, size=100):
        self.Max = size
        self.length = 0
        self.mylist = [None for x in range(0, self.Max)]

    def initt(self,i,e):
        self.mylist[i]=e
        self.length+=1

    def ListEmpty(self):#判空
        if self.length==0:
            return True
        else:
            return False

    def GetElem(self,i):#已知位置找
        if not isinstance(i,int):
            raise TypeError
        if 1<=i<=self.length:
            return self.mylist[i-1]
        else:
            return IndexError

    def LocateElem(self,x):#已知值找
        for i in range (self.length):
            if self.mylist[i]==x:
                return i+1
        return -1

    def Insert(self,i,e):#在i 上插入e

        if not isinstance(i,int):
            return IndexError
        if self.length>=self.Max:
            print("too long!!!")
        if 1<=i<=self.length:
            for j in range(self.length,i-1,-1):
                self.mylist[j]=self.mylist[j-1]
            self.mylist[i-1]=e
            self.length+=1

    def delete(self,i):#删除i上元素
        if not isinstance(i,int):
            return IndexError
        if self.length>=self.Max:
            print("too long!!!")
        if self.ListEmpty():
            print("already empty")
        if 1<=i<=self.length:
            for j in range(i,self.length-1):
                self.mylist[j]=self.mylist[j+1]
            self.length-=1
        else:
            raise IndexError

    def print(self):
        for i in range(self.length):
            print(  self.mylist[i]  )
        print('\n')


    def o(A):#前奇数后偶

        i=0
        j=A.length-1
        while i<=j:
            a=A.mylist[i]
            b=A.mylist[j]
            if((a%2)==0):
                A.mylist[j]=a
                A.mylist[i]=b
                j-=1
            elif(b%2!=0):
                A.mylist[j] = a
                A.mylist[i] = b
                i += 1
            else:
                i+=1
                j-=1



if __name__=='__main__':
    mylist_A=SeqList()
    for i in range(0,6):
        print("input a plase :")
        n=int(input())
        mylist_A.initt(i,n)
    print("input a plase :")
    n=int(input())
    mylist_A.delete(n)
    print("this is after delete:")
    mylist_A.print()
    print("is empty?")
    q=mylist_A.ListEmpty()
    print(q)
    print('\n')
    print('input a place to find value:')
    n=int(input())
    q=mylist_A.GetElem(n)
    print(q)
    print('\n')

    print('判断奇偶:')
    mylist_A.o()
    mylist_A.print()
    print('\n')







你可能感兴趣的:(python,数据结构,开发语言)