# -*- coding: utf-8 -*-
"""
Created on Tue May 24 15:15:15 2022

@author: fort
"""

class ListeCroissante:
    def __init__(self):
        self.__liste = []
        self.__taille = 0

    def donne_taille(self):
        return self.__taille

    def donne_liste(self):
        """
        Renvoie la liste dans l'ordre croissant.
        """
        return self.__liste

    def ajoute(self, x):
        """Ajoute l'élément x dans la liste à une place qui maintient l'ordre croissant,
        en décalant le reste de la liste si nécessaire.
        """
        i = 0
        while (i < self.__taille) and (self.__liste[i] < x):
            i += 1

        L1=self.__liste[0:i] # liste[debut:fin:pas].
        L2=self.__liste[i:len(self.__liste)]
        L1.append(x)
        self.__liste=L1+L2
        self.__taille += 1
        
    def __str__(self):
        return str(self.donne_liste())

    def contient(self, x):
        """Renvoie True si x est dans la liste.
        """
        for i in range(self.__taille):
            if self.__liste[i] == x:
                return True
            if self.__liste[i] > x:
                # les suivants seront encore plus grands
                return False
        return False





L1=ListeCroissante()
L1.ajoute(5)
L1.ajoute(2)
L1.ajoute(3)
L1.ajoute(4)
L1.ajoute(1)

print(L1)
print(L1.contient(3))
print(L1.contient(6))







