Advertisement
RMarK0

Untitled

Apr 28th, 2021 (edited)
534
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.83 KB | None | 0 0
  1. #Представление множеств связная память
  2.  
  3. def show():
  4.     i = head
  5.     while True:
  6.         print(arr[i], end=" ")
  7.         i = link[i]
  8.         if (i == None):
  9.             print("\n")
  10.             break;
  11. def add():
  12.     global head
  13.     print('Введите число и его индекс в массиве')
  14.     el, r = map(int, input().split())
  15.     arr.append(el)
  16.     b = len(arr)-1
  17.     i = head
  18.     for k in range(r-1):
  19.         if (link[i]==None):
  20.             link[i] = b
  21.             link[b] = None
  22.             break;
  23.         i = link[i]
  24.     if (i == head & link[b] != None):
  25.         link[b] = head
  26.         head = b
  27.     elif (link[b] != None):
  28.         a = link.index(i)
  29.         link[a] = b
  30.         link[b] = i
  31.     ##index = r - 1
  32.     ##a = len(arr) - 1
  33.     #b = link.index(index)
  34.    # link[b] = a
  35.     #link[a] = index
  36.     show()
  37.     return(i)
  38. def dell():
  39.     global head
  40.     print('Введите индекс удаляемого элемента')
  41.     index = int(input())
  42.     if (link.index(index) == head):
  43.         head = link[head]
  44.     else:
  45.         a = link.index(index)
  46.         b = link[index]
  47.         link[a] = b
  48.     show()
  49.  
  50. print('Введите числа в массив')
  51. arr = [int(a) for a in input().split()]
  52. link = [i+1 for i in range(100000)]
  53. link[len(arr)-1] = None
  54. head = 0
  55. print('Выберите действие')
  56. print("DEL ADD END SHOW")
  57. z = input()
  58. while z != "END":
  59.     if z == "ADD":
  60.         add()
  61.         print('Выберите действие')
  62.         print("DEL ADD END SHOW")
  63.     elif z == "DEL":
  64.         dell()
  65.         print('Выберите действие')
  66.         print("DEL ADD END SHOW")
  67.     elif z == "SHOW":
  68.         show()
  69.         print('Выберите действие')
  70.         print("DEL ADD END SHOW")
  71.     z = input()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement