티스토리 뷰
구현 소스
BubbleSort.h
#ifndef BUBBLESORT_H #define BUBBLESORT_H #include <stdio.h> void BubbleSort_Ascending(int Data[], int size); void BubbleSort_Descending(int Data[], int size); int IsSorting_Ascending(int Data[], int size); int IsSorting_Descending(int Data[], int size); #endif
-------------------------------------------------------------------------
BubbleSort.cpp
#include "BubbleSort.h" void BubbleSort_Ascending(int Data[], int size) { int i; int j; int k; int temp; int count=1; for(i=0; i<size-1;i++) { printf("Current Array State : "); for(k=0; k<size;k++) printf("%d ", Data[k]); printf("\n"); printf(" - Loop count : %d\n", count++); if(IsSorting_Ascending(Data,size)) break; for(j=0;j< size-(i+1);j++) { if(Data[j] > Data[j+1]) { temp = Data[j]; Data[j] = Data[j+1]; Data[j+1] = temp; } } } } void BubbleSort_Descending(int Data[], int size){ int i; int j; int k; int temp; int count=1; for(i=0; i<size-1;i++) { printf("Current Array State : "); for(k=0; k<size;k++) printf("%d ", Data[k]); printf("\n"); printf(" - Loop count : %d\n", count++); if(IsSorting_Descending(Data,size)) break; for(j=0;j< size-(i+1);j++) { if(Data[j] < Data[j+1]) { temp = Data[j]; Data[j] = Data[j+1]; Data[j+1] = temp; } } } } int IsSorting_Ascending(int Data[], int size){ int Sorting_TF=0; int i; for(i=0; i<size-1;i++){ if(Data[i]<=Data[i+1]) Sorting_TF=1; else{ Sorting_TF=0; break; } } return Sorting_TF; } int IsSorting_Descending(int Data[], int size){ int Sorting_TF=0; int i; for(i=0; i<size-1;i++){ if(Data[i]>=Data[i+1]) Sorting_TF=1; else{ Sorting_TF=0; break; } } return Sorting_TF; }
-------------------------------------------------------------------------
main.cpp
#include "BubbleSort.h" int main(){ int Data[5] = {1,2,3,4,5}; int i; printf(" Data : "); for(i=0;i<5;i++) printf("%d, ",Data[i]); printf("\n"); printf("--- Bubble sorting : Ascending ---- \n"); BubbleSort_Ascending(Data, ( sizeof(Data) / sizeof(int) ) ); printf(" Data : "); for(i=0;i<5;i++) printf("%d, ",Data[i]); printf("\n"); printf("--- Bubble sorting : Descending ---- \n"); BubbleSort_Descending(Data, ( sizeof(Data) / sizeof(int) ) ); printf(" Data : "); for(i=0;i<5;i++) printf("%d, ",Data[i]); printf("\n"); return 0; }
-------------------------------------------------------------------------
출력 결과
'Programming > 뇌를 자극하는 알고리즘' 카테고리의 다른 글
뇌를 자극하는 알고리즘(Data Structures In C) - 5. 정렬 : Quick Sort (0) | 2010.10.13 |
---|---|
뇌를 자극하는 알고리즘 - 5. 정렬 : Insertion Sort (0) | 2010.10.11 |
뇌를 자극하는 알고리즘 - 4. 트리 : Simple Binary Tree (0) | 2010.10.07 |
뇌를 자극하는 알고리즘 - 4. 트리 : Left Child Right Sibling (0) | 2010.10.07 |
뇌를 자극하는 알고리즘 - 3. 큐 : 링크드 리스트 큐 (1) | 2010.10.05 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- PackMan
- Win32 API
- quick sort
- Tree
- Ice Climber
- Game project
- IntersectRect
- 뇌를 자극하는 알고리즘
- Digits Folding
- Tales of the Float Land
- SetTimer
- Stack
- Linked list
- Hash table
- graph
- 2D Game Project
- Data Structures in C
- 그림 맞추기 게임
- PtInRect
- Queue
- Pixel 색상값으로 구현한 간단한 충돌
- WM_TIMER
- Farseer Physics
- Kinect Programming
- 열혈강의C
- Kinect Game Project
- WM_CONTEXTMENU
- MFC 예제
- 윈도우즈 API 정복
- WinAPI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함