アットウィキロゴ

テーブルをソートする

  1. //ArraySort.c
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <time.h>
  5.  
  6. #define ARRAY_SIZE 10
  7.  
  8. int main( void ){
  9. int a[ARRAY_SIZE];
  10. int *b[ARRAY_SIZE];
  11. int *c[ARRAY_SIZE];
  12. int i,j;
  13. int *tmp;
  14.  
  15. srand((unsigned)time(NULL));
  16.  
  17. /* 初期化 */
  18. for(i =0;i<ARRAY_SIZE;i++){
  19. a[i] = rand();
  20. b[i] = &a[i];
  21. c[i] = &a[i];
  22. }
  23.  
  24. for(i=0;i<ARRAY_SIZE-1;i++){
  25. for(j=i;j<ARRAY_SIZE;j++){
  26. //昇順にソート
  27. if( *b[j] < *b[i] ){
  28. tmp = b[i];
  29. b[i] = b[j];
  30. b[j] = tmp;
  31. }
  32.  
  33. //降順にソート
  34. if( *c[i] < *c[j]){
  35. tmp = c[i];
  36. c[i] = c[j];
  37. c[j] = tmp;
  38. }
  39. }
  40. }
  41.  
  42. printf(" i| a | b | c \n");
  43.  
  44. for(i=0;i<ARRAY_SIZE;i++){
  45. printf("%2d|%8d| %8d| %8d\n", i, a[i], *b[i], *c[i] );
  46. }
  47. return;
  48. }
最終更新:2012年02月25日 02:26