오늘 읽은 범위 : 1-26 장 ~ 1-29 장
오늘의 TIL 3줄 요약
•
버블 정렬, 선택 정렬, 삽입 정렬의 시간 복잡도는 같아도 속도는 다르다.
•
스택은 LIFO, 큐는 FIFO이다.
•
스택과 큐는 추상 자료구조(abstract data type, ADT)이다.
책에서 기억하고 싶은 내용
Bubble, Selection, Insertion Sort
•
Bubble Sort
#include <iostream>
using namespace std;
int main()
{
int count;
int *input;
cout << "How many numbers would you like to type?" << endl;
cin >> count;
input = new int[count];
if (input == nullptr)
cout << "Error: Memory could not be allocated.";
else
{
for (int i = 0; i < count; i++)
{
cout << "Input Number: ";
cin >> input[i];
}
int tmp;
for (int i = 0; i < count; i++)
{
for (int j = 1; j < count - i; j++)
{
if (input[j - 1] > input[j])
{
tmp = input[j - 1];
input[j - 1] = input[j];
input[j] = tmp;
}
}
}
cout << "Done" << endl;
for (int i = 0; i < count; i++)
{
cout << *(input + i) << " ";
}
}
return 0;
}
C++
복사
•
Selection Sort
#include <iostream>
using namespace std;
int main()
{
int tmp;
int minIndex;
int *list;
int length;
cout << "How many numbers would you like to type: ";
cin >> length;
list = new int[length];
for (int i = 0; i < length; i++)
{
cout << "Input Number: ";
cin >> *(list + i);
}
for (int i = 0; i < length - 2; i++)
{
minIndex = i;
for (int j = i + 1; j < length; j++)
{
if (list[j] < list[minIndex])
minIndex = j;
}
tmp = *(list + i);
*(list + i) = *(list + minIndex);
*(list + minIndex) = tmp;
}
for (int i = 0; i < length; i++)
cout << *(list + i) << endl;
}
C++
복사
•
Insertion Sort
#include <iostream>
using namespace std;
int main()
{
int length;
int *list;
cout << "How many numbers would you like to type: ";
cin >> length;
list = new int[length];
for (int i = 0; i < length; i++)
{
cout << "Input Number: ";
cin >> *(list + i);
}
for (int i = 1; i < length; i++)
{
int tmp = list[i];
int prev = i - 1;
while ((prev >= 0) && (list[prev] > tmp))
{
list[prev + 1] = list[prev];
prev--;
}
list[prev + 1] = tmp;
}
for (int i = 0; i < length; i++)
cout << *(list + i) << endl;
}
C++
복사
책 읽은 소감
사이드 프로젝트를 1~2달 동안 2개 정도 하게 될 텐데, 그 동안애 클린코드를 읽고 나서 내가 나중에 개발자
가 됐을때도 도움이 됐으면 좋겠다. 이 챌린지가 끝나고 클린코드 챌린지도 하는데, 그때 좀 열심히
해놔야겠다.
#노개북 #개발자북클럽