您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 修改选择排序c语言实作为由小至大排列并传回回圈执行次
a.修改選擇排序c語言實作為由小至大排列並傳回迴圈執行次數intselection_sort(intAa[],intN)輸入:陣列A,其上限為N輸出:陣列A由小至大排列,迴圈執行次數,請清楚說明指令功能Ans:select_sort(inta[],intN){inti,j,min,temp,count;i=0;do{min=i;for(j=i+1;jN;j++){if(a[j]a[min])min=j;count++;}temp=a[i];a[i]=a[min];a[min]=temp;i++;}while(iN-1);}b.一個三維陣列A(-3:2,-2:3,0:4)是以列為主方式排列,A陣列起始位址為318,試計算A(1,3,3)所在位置?(假設該陣列每一元素佔一位元組)三維陣列A(l1:l,l2:m,l3:n)Ans:Loc[A(i,j,k)]=起始位置(α)+(i-l1)(m-l2+1)(n-l3+1)d+(j-l2)(n-l3+1)d+(k-l3)d=318+(1-(-3))(3-(-2)+1)(4-0+1)d+(3-(-2))(4-0+1)d+(3-0)d=466c.A為(1:n,1:m)之陣列,A(4,2)位址為1978,A(2,3)位址為1986,假設該陣列每一元素佔二位元組,試計算A(3,8)所在位置?Ans:Loc[A(4,2)]=起始位置(α)+((2-1)m+(4-1))*2=1978…..(1)Loc[A(2,3)]=起始位置(α)+((3-1)m+(2-1))*2=1986…..(2)m=6,α=1960∴Loc[A(3,8)]=1960+((8-1)*6+(3-1))*2=2048
本文标题:修改选择排序c语言实作为由小至大排列并传回回圈执行次
链接地址:https://www.777doc.com/doc-850939 .html