자료구조&알고리즘 0509

장진영·2024년 5월 9일
arr = [40, 70, 60, 30, 10, 50]
print(f'선택정렬 전 : {arr}')
print("+" *40)
for i in range(len(arr) - 1):
    min_idx = i
    for j in range(min_idx + 1, len(arr)):
        if arr[j] < arr[min_idx]:
            min_idx = j
    arr[i], arr[min_idx] = arr[min_idx], arr[i]
    print(f'{i+1}단계: {arr}')
print("+"*40)
print(f'선택정렬 결과 : {arr}')
def select_sort(arr):
    min_idx= 0
    print(f'선택 정렬 전 : {arr}')
    for i in range(len(arr) -1):
        min_idx = i
        print(f'인덱스[{min_idx}]의 값인 {arr[min_idx]}의 위치', end='->')
        for j in range(min_idx + 1, len(arr)):
            if arr[j] < arr[min_idx]:
                min_idx = j

        arr [i], arr[min_idx] = arr[min_idx], arr[i]
        print(f'배열에서 가장 작은 값인 {arr[i]}위치[{min_idx}]와 변경')
        print(f'인덱스[{i}]단계 교환 후 결과: [arr]')
        print()

    print("="*70)
    print(f'선택 정렬된 이후: {arr}')

array=[40,70,60,30,10,50]
select_sort(array)
arr = ["다", "나", "마", "가", "사", "바", "라"]
print(f'정렬 전: {arr}')
print('-'*50)

for i in range(len(arr)-1, 0, -1):
    for j in range(i):
        if arr[j] > arr[j+1]:
            arr[j], arr[j+1] = arr[j+1], arr[j]
            print(f'리스트에서 서로 이웃한 현재 값 중 작은 값인 "{arr[j]}"의 인덱스 [{j+1}]의 위치를 변경하면')
            print(f'[단계별 교환 후 정렬 과정 : {arr}]')
        else:
            print(f'[단계별 교환 후 정렬 과정 : [{arr[j]}]와 {[arr[j+1]]}의 값 크기가 변동 없음]')
            print()
print('+'*50)
print(f'정렬 후 : {arr}')
import random

def bubble(arr):
    for i in range(len(arr)-1, 0, -1):
        for j in range(i):
            if arr[j] > arr[j+1]:
                arr[j], arr[j+1] = arr[j+1], arr[j]
                print(f'리스트에서 서로 이웃한 현재 값 중 작은값인 "{arr[j]}"의 인덱스[{j+1}] 위치를 변경하면')
                print(f'[단계별 교환 후 정렬 과정 : {arr}]')

            else:
                print(f'[단계별 교환 후 정렬 과정 : [{arr[j]}]와 {[arr[j+1]]}의 값 크기가 변동 없음]')
            print()
    print('+'* 50)
    print(f'정렬 후 : {arr}')

array1= random.sample(range(1, 101), 6)
print(f'정렬 전: {arr}')
print('='*50)
bubble(array1)
s_list = list()

def stack_push(value):
    s_list.append(value)
    print(s_list)

def stack_pop():
    print('+++삭제되는 순서+++')
    while len(s_list)!= 0:
        value = s_list.pop()
        print(f'{value}', end= "")

print("+++삽입되는 순서+++")
stack_push('a')
stack_push('b')
stack_push('c')
stack_push('d')
stack_push('e')
stack_push('f')
stack_push('g')

stack_pop()
profile
안녕하세요. 배운 것을 메모하는 velog입니다.

0개의 댓글