[C] Bubble sort
- 시간 복잡도
O(n^2)이다.
시간 복잡도가 높은 편이지만 구현이 간단하다.
- code
void BubbleSort(int* _pData, int _iCount)
{
// 데이터가 1개 이하면 정렬하지 않는다.
if (_iCount <= 1)
return;
// 정렬
while (1)
{
bool bFinish = true;
int iLoop = _iCount - 1;
for (int i = 0; i < iLoop; ++i)
{
if (_pData[i] > _pData[i + 1]) //앞의 값이 뒤의 값보다 클때 서로를 바꾼다.
{
int iTemp = _pData[i];
_pData[i] = _pData[i + 1];
_pData[i + 1] = iTemp;
bFinish = false;
}
}
if (bFinish)
break;
}
}
void main()
{
int iArr[10] = {87, 644, 21, 55, 879, 32, 1, }; //임의의 배열
BubbleSort(iArr, 10); // 정렬
}
'공부 > C, C++' 카테고리의 다른 글
[C] 링크드 리스트 LinkedList (0) | 2022.03.13 |
---|---|
[C] 함수 포인터 (0) | 2022.03.12 |
[C] 가변 배열 (malloc) (0) | 2022.01.10 |
[C] 동적 할당 malloc( ); (0) | 2022.01.10 |
[C] 구조체 포인터 (0) | 2022.01.10 |
댓글