Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdint.h>
  3.  
  4. int main()
  5. {
  6. /** 핵심은 루프를 1회 돌때마다 가장큰 숫자가 끝에 배치되기 때문에
  7. * 다음부터는 마지막과 비교할 필요가 없어짐, 그러므로 비교 횟수는 -1 씩 줄어들게됨
  8. */
  9.  
  10. uint8_t array[10] = {1,3,2,5,4,7,9,0,6,8};
  11. uint8_t arraySize = sizeof(array);
  12.  
  13.  
  14. for(uint8_t n=(arraySize-1);n>0;n--)
  15. {
  16. for(uint8_t i=0;i<n;i++)
  17. {
  18. uint8_t temp = 0;
  19. if(array[i] > array[i+1])
  20. {
  21. temp = array[i];
  22. array[i] = array[i+1];
  23. array[i+1] = temp;
  24. }
  25. }
  26. /* PRINT DEBUG MESSAGE */
  27. printf("\n%d TIME: ", (arraySize-n));
  28. for(uint8_t i=0;i<arraySize;i++)
  29. printf("%d%c", array[i], (i==(arraySize-1) ? '\0' : ','));
  30. }
  31.  
  32. printf("\n\n DONE: ");
  33. for(uint8_t i=0;i<arraySize;i++)
  34. printf("%d%c", array[i], (i==(arraySize-1) ? '\0' : ','));
  35.  
  36. return 0;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement