资讯动态

昆明理工大学891计算机综合、25年891真题回忆版

发布时间:2026/9/9 12:22:06 来源:尧图企业网站定制
历年真题看我另一篇最新的博客可以免费领取真题和资料还有模拟题和预测题分享一道最新25年8911.给定一个含n(n≥1)个整数的数组找出数组中未出现的最小正整数。例如数组{-5, 3, 2, 3}中未出现的最小正整数是1数组{1, 2, 3}中未出现的最小正整数是4。15分1写出算法的具体思想2使用c语言实现代码关键部分写出注释intpartition(intA[],intlow,inthigh){intpivotA[low];//选择第一个元素作为枢纽while(lowhigh){while(lowhighA[high]pivot){--high;}A[low]A[high];//比枢纽小的元素移到左端while(lowhighA[low]pivot){low;}A[high]A[low];//比枢纽大的元素移到右端}A[low]pivot;returnlow;}voidquicksort(intA[],intlow,inthigh){if(lowhigh){intpivotpospartition(A,low,high);//第一次快排quicksort(A,low,pivotpos-1);//左侧快排quicksort(A,pivotpos1,high);//右侧快排}}intgetMin(intA[],intn){quicksort(A,0,n-1);//进行快速排序for(inti0;in;i){//第一个元素大于0且不为1则最后返回1出现正数之前的元素为负数且第一个正数不为1则返回1。例如-12,3例如2,3,4if(A[0]0A[0]!1||A[i]0A[i-1]0A[i]!0){return1;}elseif(i0A[i]0A[i-1]0A[i]-A[i-1]1){//出现的正整数之间差值大于1且在此之前均为连续的数。例如1,2,3,6返回4returnA[i-1]1;}}if(A[n-1]0){//全部为正数且为连续正整数。例如1 2 3 4.最后返回5returnA[n-1]1;}else{//全部为负数或最后为0。例如 -3-20 返回1return1;}}学校开始不公布历年真题了真题还是极具参考价值。今年专业课难度上升了以前都只有20左右代码题今年直接60分3道代码题并且题目不像以前那样简单了。明年说不定还有所变化。给大家分享23年算法题第一题题目如下解答如下这其实就是一道变相的快排的一部分代码难度适中,按照快排的思路进行编写代码即可代码如下voidquickpass(intr[],ints,intt){intis,jt,xr[s];while(ij){while(ijr[j]x)jj-1;if(ij){r[i]r[j];ii1;}while(ijr[i]x)ii1;if(ij){r[j]r[i];jj-1;}}r[i]x;}完整的快排是这样的#includestdio.hvoidswap(inta[],intlow,inthigh)//交换两个数的值{intta[low];a[low]a[high];a[high]t;}intpartition(inta[],intlow,inthigh)//计算基准点分割为左右两个数组{intpointa[low];//基准点等于第一个元素/* while(1){ while(lowhigh a[low]point); while(a[--high]point); if(lowhigh) break; */while(lowhigh){while(lowhigha[high]point)//控制high指针比较并左移{high--;}swap(a,low,high);//}while(lowhigha[low]point)//控制low指针比较并右移{low;}swap(a,low,high);}returnlow;//返回基准点位置}voidquicksort(inta[],intlow,inthigh)//low:起始位置 high:末尾位置{if(lowhigh){intpointpartition(a,low,high);//计算基准点quicksort(a,low,point-1);//对基准点的左边进行排序quicksort(a,point1,high);//对基准点的右边进行排序}}intmain(){inti;inta[]{5,13,6,24,2,8,19,27,6,12,1,17};intN12;quicksort(a,0,N-1);for(i0;iN;i)printf(%d ,a[i]);printf(\n);return0;}希望大家都能取得满意的成绩考研上岸

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价