我不懂,帮个忙看看~

fansone 2003-08-25 03:50:06
void sort(int array[],int n)
{int i,j,k,t;
for (i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(array[j]<array[k])k=j;
t=array[k];array[k]=array[i];array[i]=t;
}
}
这上面的是一个形参函数,他的实参我就不写了,我现在的问题是
{k=i;
for(j=i+1;j<n;j++)
if(array[j]<array[k])k=j;
t=array[k];array[k]=array[i];array[i]=t;
}
的看不懂,谁能帮我1句1句的解释?谢谢了~
...全文
21 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
anothermxw 2003-08-25
  • 打赏
  • 举报
回复
是啊
huylghost 2003-08-25
  • 打赏
  • 举报
回复
这个是典型的排序算法,从第一个元素起与后面的元素进行比较,直到倒数第二个i<n-1与最后一个j=i+1

讲数据结构与算法的书应该都有对这个算法的描述
idontlikenickname 2003-08-25
  • 打赏
  • 举报
回复


自己带个数进去不就明白了?

void sort(int array[],int n)
{
int i,j,k,t;
for (i=0;i<n-1;i++)
{
// 初始化下标变量为当前位置i
k=i;
// 用当前位置的元素与他后边所有的元素比较,记录最小值的位置k
for(j=i+1;j<n;j++)
if(array[j]<array[k])k=j;
// 交换当前位置i和它后边的最小值所在位置k上的元素
t=array[k];
array[k]=array[i];
array[i]=t;
}
// 完成从小到大的排列
}
jzlzk 2003-08-25
  • 打赏
  • 举报
回复
这是一个把array数组从小到大排序的函数。

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧