데이터 구조 재 미 있 는 문제 - 순서 표 현지 역 치

7537 단어 데이터 구조
원 표 의 저장 공간 을 이용 하여 순서 표 (a1, a2,..., an) 를 (an, an - 1,... a1) 로 역 설정 합 니 다.
   1: #include <stdio.h>
   2: #include <stdlib.h>
   3:  
   4: # define MAXSIZE 10
   5: typedef struct {
   6:     int * base;
   7:     int length;
   8: } sqlist ;
   9:  
  10: void reverseSQ(sqlist *l) {
  11:     int low = 0 , high = l->length - 1;
  12:     int buf , i;
  13:  
  14:     for(i = 0; i < l->length / 2; i++)
  15:     {
  16:         buf = l->base[low] ;
  17:         l->base[low] = l->base[high];
  18:         l->base[high] = buf;
  19:         low++;
  20:         high--;
  21:     }
  22: }
  23:  
  24: int main()
  25: {
  26:     sqlist l;
  27:     int a , i = 0;
  28:     /*       */
  29:     l.base = (int *)malloc(sizeof(int) * MAXSIZE);
  30:     l.length = 0;
  31:  
  32:     /*    */
  33:     printf("Please input below 10 integer into the sqlist
"
) ;
  34:     printf("Type -1 for stopping input
"
);
  35:     scanf("%d", &a);
  36:  
  37:     while(a != -1 && i <= 9)
  38:     {
  39:         l.base[i] = a;
  40:         l.length++;
  41:         i++;
  42:         scanf("%d", &a);
  43:     }
  44:  
  45:     /*          */
  46:     printf("The contents of the sqlist are
"
);
  47:  
  48:     for(i = 0; i < l.length; i++)
  49:         printf("%d ", l.base[i]);
  50:  
  51:     printf("
"
);
  52:  
  53:     reverseSQ(&l);    /*       */
  54:  
  55:  
  56:     /*             */
  57:     printf("The contents of the reversed sqlist are
"
);
  58:  
  59:     for(i = 0; i < l.length; i++)
  60:         printf("%d ", l.base[i]);
  61:  
  62:     return 0;
  63: }

좋은 웹페이지 즐겨찾기