Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdint.h>
- int main()
- {
- /** 핵심은 루프를 1회 돌때마다 가장큰 숫자가 끝에 배치되기 때문에
- * 다음부터는 마지막과 비교할 필요가 없어짐, 그러므로 비교 횟수는 -1 씩 줄어들게됨
- */
- uint8_t array[10] = {1,3,2,5,4,7,9,0,6,8};
- uint8_t arraySize = sizeof(array);
- for(uint8_t n=(arraySize-1);n>0;n--)
- {
- for(uint8_t i=0;i<n;i++)
- {
- uint8_t temp = 0;
- if(array[i] > array[i+1])
- {
- temp = array[i];
- array[i] = array[i+1];
- array[i+1] = temp;
- }
- }
- /* PRINT DEBUG MESSAGE */
- printf("\n%d TIME: ", (arraySize-n));
- for(uint8_t i=0;i<arraySize;i++)
- printf("%d%c", array[i], (i==(arraySize-1) ? '\0' : ','));
- }
- printf("\n\n DONE: ");
- for(uint8_t i=0;i<arraySize;i++)
- printf("%d%c", array[i], (i==(arraySize-1) ? '\0' : ','));
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement