1. 程式人生 > >利用陣列下標,將n以內的數進行排序

利用陣列下標,將n以內的數進行排序

巧用陣列下標

陣列的下標是一個隱含的很有用的陣列,特別是在統計一些數字,或者判斷一些整型數是否出現過的時候。例如,給你一串字母,讓你判斷這些字母出現的次數時,我們就可以把這些字母作為下標,在遍歷的時候,如果字母a遍歷到,則arr[a]就可以加1了,即  arr[a]++;

/**************************************** 功能:將n以內的數進行排序  時間: 2018-10-31  /****************************************/ #include "stdio.h" #define max 20      //數的最大值 

int main(void) {     int arr[]={1,4,3,7,5,3,8,2,1,4,9,9,10,18};     int temp[max+1]={0};

    int i=0,j=0;     for(i=0;i<sizeof(arr)/sizeof(int);i++)    //搜尋每個數的個數      {         temp[arr[i]]++;                      //將對應的數值作為陣列下標      }     for(i=0;i<(max+1);i++)                   //列印每個數的個數      {             printf(" %d,",temp[i]);     }     printf(" \n");     for(i=0;i<(max+1);i++)                   //直接排序列印      {         for(j=0;j<temp[i];j++)         {             printf(" %d,",i);         }     } }