code_junkie

How to best sort a portion of a circular buffer?

Nov 12th, 2011
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.53 KB | None | 0 0
  1. #define _PRINT_PROGRESS
  2. #define N 10
  3. BYTE buff[N]={4,5,2,1,3,5,8,6,4,3};
  4. BYTE *a = buff;
  5. BYTE *b = buff;
  6. BYTE changed = 0;
  7. int main(void)
  8. {
  9. BYTE n=0;
  10. do
  11. {
  12. b++;
  13. changed = 0;
  14. for(n=0;n<(N-1);n++)
  15. {
  16. if(*a > *b)
  17. {
  18. *a ^= *b;
  19. *b ^= *a;
  20. *a ^= *b;
  21. changed = 1;
  22. }
  23. a++;
  24. b++;
  25. }
  26. a = buff;
  27. b = buff;
  28. #ifdef _PRINT_PROGRESS
  29. for(n=0;n<N;n++)
  30. printf("%d",buff[n]);
  31. printf("n");
  32. }
  33. #endif
  34. while(changed);
  35. system( "pause" );
  36. }
Add Comment
Please, Sign In to add comment