본문 바로가기
공부/C, C++

[C] Bubble sort

by 김샤랑 2022. 3. 11.

[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

댓글