用插入排序对二维数组进行排序
答案:2 悬赏:40 手机版
解决时间 2021-04-29 13:47
- 提问者网友:皆是孤独
- 2021-04-29 04:21
求高手帮忙!
最佳答案
- 五星知识达人网友:怙棘
- 2021-04-29 04:44
你这个肯定是不对的 你看这一句话
if(array[i][j]>array[i][j+1]) 当j=n-1的时候那么j+1 不就等于n了,那是个不确定的值
这个肯定不行
其实多维数组就是个变了形的一维数组
你把它转换陈一维数组或者看成一维数组不就行了
全部回答
- 1楼网友:刀戟声无边
- 2021-04-29 06:20
插入排序的基本思想是,经过i-1遍处理后,A[0..i-1]己排好序。第i遍处理仅将A[i]插入A[0..i-1]的适当位置,使得A[0..i]又是排好序的序列。要达到这个目的,我们可以用顺序比较的方法。首先比较A[i]和A[i-1],如果A[i-1]≤ L[i],则A[0..i]已排好序,第i遍处理就结束了;否则交换A[i]与A[i-1]的位置,继续比较A[i-1]和A[i-2],直到找到某一个位置j(0≤j≤i-1),使得L[j] ≤L[j+1]时为止.
Status Insertion_Sort(List A)
{ for(i=1;i<len;i++){ tmp=A[i]; j=i-1; while(j>=0&&A[j]>tmp){ A[j+1]=A[j]; j--; } A[++j]=tmp; } return 1; }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯