如有偏颇之处,还望海涵; 在上一个章节中,讲的偏移量问题,在这里进行一些解释; 如果是一维数组;array[5] 在这个数组中含有5个元素;他们的下标是;0,1,2,3,4; array[5]的偏移量是;4 应该注意的是偏移量就是有效地址; 在二维数组;array[2][3];我们可以看出他有6个元素;偏移量是;5 通俗的理解就是;元素与第一个元素的距离; 三维数组array[i][j][n]: array[a][k][m] 偏移量是ajn+k*n=m; 好了废话不多说,进入正题; 今天讲一讲数组的排序算法; 选择法排序;
int main() { int i,j; int array[10]; int ipos,itemp;// 定义数组,变量; for(i=0;i<10;i++) { printf("array[i]=",i); scanf("%d",&array[i]);//先进行输入操作; } for(i=0;i<9;i++)//具体进行的操作; { ipos=i; itemp=array[i];//先进行赋值,定义第一个数,最小; for(j=i+1;j<10;j++)// 下列进行比较,第一个数和后九个数比较; { if(array[j]<itemp) { itemp=array[j]; ipos=j; } } // 找到一次循环中最小的数; array[ipos]=array[i];//进行互换,将上面得到的最下数,进行互换 array[i]=itemp; } for(i=0;i<10;i++) { printf("%d\t",i); if(i==4)// 判断,进行转行; printf("\n"); } return 0; } 这个可以进行排位;