Skip to content

Commit e7977c7

Browse files
committedOct 23, 2017
Insertion sort on python
1 parent 602bcff commit e7977c7

File tree

4 files changed

+76
-1
lines changed

4 files changed

+76
-1
lines changed
 
File renamed without changes.

‎algorithms/insertsort.py

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Метод вставок
2+
# Сначала отпределим функцию insertion_sort()
3+
# на вход она примет у нас список insertion_sort(list)
4+
# Далее будем использовать цикл форб переберем элем. в пределе с 0 до длины списка - len(список)
5+
# или по другому указатель значений.
6+
# Начинаем с самого левого значения списка. НО это не целесообразно, так как не с чем сравнивать.
7+
# Начнем со второго, т.е. [1] ([0] самый левый)
8+
# Найдем значение правого элемента, т.е. равно индексу списка.
9+
# Нужно сравнить элементы со значениями списка слева. Введем переменную и
10+
# И будем сравнивать значение и влево, пока и не окажется в самом начале списка
11+
# и = индекс - 1
12+
# Пока и >= 0 Если значение меньше чем элемент находящийся при индексе списка (список[])
13+
# Передвинем элемент вправо список[и + 1] = список(и)
14+
# Переносим значение влево Грубо говоря обмен список(и) = value
15+
# Теперь сравним элемент который на 1 меньше этого (декремент) и = и - 1
16+
#
17+
# Что будет если значение элемента не будет меньше элемента с которым мы сравниваем
18+
# По идее заканчиваем.
19+
#
20+
21+
def insertion_sort(list):
22+
# Начинаем со второго, т.к. нужно с чем-то сравнивать
23+
for index in range(1, len(list)):
24+
value = list[index]
25+
i = index - 1
26+
while i >= 0:
27+
if value < list[i]:
28+
list[i + 1] = list[i]
29+
list[i] = value
30+
i = i -1
31+
else:
32+
break
33+
34+
first_list = [1,5,8,3,2,2,4,6,7]
35+
insertion_sort(first_list)
36+
print(first_list)
37+
38+
39+

‎python-arrays/randomseq.py

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import random
2+
import sys
3+
import stdio
4+
5+
n = int(sys.argv[1])
6+
for i in range(n):
7+
stdio.writeln(random.random())

‎python-arrays/twodimensional.py

+30-1
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,16 @@ def main():
118118
# False .
119119
# Выводите также номера рядов и столбцов.
120120

121+
# Задать массив с логическими значениями
122+
# потом взять и перебрать в цикле каждый элемент массива. Потом
123+
# Если тру то вывести * и значение " " для пробела. Как вывести номера столбцов
124+
# и рядов?
125+
a = [True,False, True, False, True, False]
126+
for i in a:
127+
if i == True:
128+
print(" Will be *")
129+
if i == False:
130+
print(" will be space " "")
121131

122132

123133

@@ -140,4 +150,23 @@ def main():
140150
for i in range(2, n):
141151
a += [a[i-1] + a[i-2]]
142152
print(a)
143-
#0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 Числа Фибоначчи
153+
#0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 Числа Фибоначчи
154+
155+
#1.4.8.
156+
# Составьте программу, получающую аргумент командной строки n и выводящую
157+
# n разделенных пустыми строками комбаниций карт ( по пять в каждой) из
158+
# перетасованной колоды.
159+
160+
161+
162+
163+
#1.4.9
164+
#
165+
#
166+
def gen_matrix( m, n, k):
167+
result = []
168+
for _ in range(m):
169+
result.append([k] * n)
170+
return result
171+
172+
print(gen_matrix(2,4,0))

0 commit comments

Comments
 (0)
Please sign in to comment.