1.01 ^ 365 = 37.78

[Sort]선택정렬 본문

카테고리 없음

[Sort]선택정렬

Youngchangoon 2016. 4. 18. 22:55

1. 소개


제가 이번에 설명들릴 정렬은 선택정렬 입니다.


선택정렬은 가장 작은값을 찾아 진행중인 index에 넣는 정렬입니다.



2. 장점 & 단점


- 구현이 간편하다.


- 속도가 느리다. ( 무조건  O(n²) 경우의수가 나온다 )



3. 정렬 방법


012345678910


4.  코드




void SelectionSort(int *data, int size);

int main()
{
 int testArr[] = { 4,3,2,1 };

 SelectionSort(testArr, 4);
 for (int i = 0; i < 4; ++i)
 {
  cout << testArr[i] << " ";
 }
 cout << endl;
 return 0;
}


void SelectionSort(int *data, int size)
{
 int i, j, minIndex, temp; // 반복용, 최소 값 index, 스왑할때 임시변수

 for (int i = 0; i < size - 1; ++i)
 {
  minIndex = i;
  for (int j = i + 1; j < size; ++j)
  {
   if (data[j] < data[minIndex])
   {
    minIndex = j;
   }
  }

  temp = data[minIndex];
  data[minIndex] = data[i];
  data[i] = temp;
 }
}


------------------------------------------


코드 스크립터가 이상해서 그냥 올립니당..