fork download
  1. #include<stdio.h>
  2. #include<string.h>
  3.  
  4. // 並べ替え結果処理
  5. void kekka_shori(int *d, int len)
  6. {
  7. int i;
  8.  
  9. for (i = 0; i < len; i++) {
  10. printf("%d", d[i]);
  11. }
  12. puts("");
  13. }
  14.  
  15. // len個の配列の右n個を左にスライド
  16. void narabe(int *d, int len, int n)
  17. {
  18. int i, j;
  19. int tmp;
  20.  
  21. if (n <= 1) {
  22. kekka_shori(d, len);
  23. return;
  24. }
  25. for (j = 0; j < n; j++) {
  26. narabe(d, len, n - 1);
  27. tmp = d[len - n];
  28. for (i = 0; i < n - 1; i++) {
  29. d[len - n + i] = d[len - n + i + 1];
  30. }
  31. d[len - n + i] = tmp;
  32. }
  33. }
  34.  
  35. int main()
  36. {
  37. int d[] = { 1, 2, 3 };
  38.  
  39. narabe(d, 3, 3);
  40. return 0;
  41. }
Success #stdin #stdout 0.01s 1676KB
stdin
Standard input is empty
stdout
123
132
231
213
312
321