C语言 12.0

如有偏颇之处,还望海涵;
在上一个章节中,讲的偏移量问题,在这里进行一些解释;
如果是一维数组;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;
}
这个可以进行排位;

猜你喜欢

转载自blog.51cto.com/15098536/2627760
今日推荐