解题报告

题目:选择排序(顺序)
遇到的问题:当数组元素较多时,直接手动排序非常困难,存不存在一种算法能一个不漏地把所有元素排好?
解题思路:从数组的首地址开始直到末地址,逐个选取元素与后面所有元素进行比较,若比后面的元素大则位置互换
算法:双for ,第一个for确定比较位置,第二个for进行逐个比较

核心代码:or(i=0;i<n-1;++i)//因为每次需要和a[i]后面的数进行比较,所以到an-2就行
{ for(j=i+1;j<n;++j)//j从i后一个开始,a[i]与a[j]进行比较
{ if(a[i]>a[j])//a[i]为当前值,若是比后面的a[j]大,进行交换
{ t=a[i]; a[i]=a[j]; a[j]=t; }

思维导图:

posted on 2019-12-17 10:39  永恒超越者  阅读(131)  评论(1编辑  收藏  举报

导航