free Pascal 的排序习题

简单排序和归并排序方面的习题! 谢!

给你一个快排,内部排序中最快的哦!(不稳定)
procedure kp(l,r:longint);
var i,j,x,t:longint;
begin
i:=l;j:=r;x:=a[(l+r) div 2];
repeat
while a[i]<x then inc(i);
while x<a[j] then dec(j);
if i<=j then begin t:=a[i];a[i]:=a[j];a[j]:=t;inc(i);dec(j);end;
until i>j;
if i<r then kp(i,r);if l<j then kp(l,j);
end;
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-09-07
快排OK?

free pascal题目
2、输入两个数a,b,输出较大的数。3、读入三个不同的数,编程按由小到大的顺序排列打印出来。4、某全自动加油站a,b,c三种汽油的单价(元\/kg)分别是1.50、1.35和1.18,也提供了“自己加”或“协助加”两个服务等级,这样用户可以得到5%或10%的优惠。编一个程序,用户输入加油量、汽油品种和服务类型(f-自动,m...

free pascal 一道插入排序练习 急!!!
第一空 begin a[pos]:=x;search:=false;end 第二空 inc(pos)第三空 n-1 downto pos 第四空 inc(num);第五空 insert(x,a,num)完成……给分~

几个free pascal 的简单小问题,希望帮忙解决
懒得编了,提示你一下,第一题,n<=200000,所以用快排先排序,然后再从头到尾扫一遍,大致代码如下,快排自己编 sort(1,n);k:=0;ge:=0;ans:=0;for i:=1 to n do if a[i]=k then inc(ge)else begin if ge>ans then ans:=ge;k:=a[i]; ge:=1;end;writeln(ans);第二题 ...

Free pascal练习题大全
1、倒油问题:看懂,并完成程序。有10升油在10的容器中,另有两个7升和3升的空容器,现要求用这三个容器倒油,使得最后在10升和7升的容器中各有5升。2、书本的P.250-251页的迷宫问题:看懂,完成程序并调试 3、细胞问题:一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为细胞数字...

关于free pascal 的快速排序,我总解不出,求大师详解:
快速排序的时间复杂度很省,是深受青睐的一种排序方式。过程如下:其中,第一行记录l,r以及层数(有回溯),第二行记录刚开始的赋值,第三行记录大小比较后的指向的数的位置,第四行记录交换后的指向的数,第五行是当前排序。qsort(1,8) 1:i=1 j=8 mid=12 i=1 a[i]=36 j=4 a[j]=12 ...

猫吃老鼠的程序问题,用free pascal的,感激不尽!
同理,你这里是报的单数,思路是一样的,找到它的规律后就明显知道它是2^x(其中x尽量大),当然,这道题如果是大牛的话,一看就知道答案,因为你每次都去一半,那么反过来就是求一个不断加倍的数,那么也就是最大的2^x了!参考资料:http:\/\/baike.baidu.com\/view\/213217.htm ...

free pascal程序
桶排序:read(n);fillchar(a,sizeof(a),0);for i:=1 to n do begin read(k);a[k]:=a[k]+1;end;for i:=最小可能出现的数 to 最大可能出现的数 do while a[i]>0 do begin write(i,' ');a[i]:=a[i]-1;end;以上的程序都是我个人写的,如果觉得不够用,推荐你去百度...

free pascal问题
1) '?'结束:---逐字符输入(循环输入)读到 '?',结束(循环)输入。计数 采取 这样的方式,建立26 或52 个元素的数组 ,用字母做索引(ord(ch)-ord('a') 小写, (ord(ch)-ord('A') 大写 ,计数就是加1操作。2)队列或循环链表!3)冒泡到处都是,搜搜吧!4)先计算每个数占...

一个超级难的free pascal循环问题
用F[I]表示上到第I级台阶时的方法数 因为F[I]只能由F[I-1],F[I-2],F[I-3]三种状态到达,所以递推式 F[I]=F[I-1]+F[I-2]+F[I-3]Var F:Array[0..10]of Longint;I:Longint;Begin F[0]:=1;F[1]:=1;F[2]:=2;For I:=3 to 10 do F[I]:=F[I-1]+F[I-2]...

free pascal
习题5.1 1.裴波那契数列:数列1、1、2、3、5、8、13、21…称为裴波那契数列,它的特点是:数列的第一项是1,第二项也是1,从第三项起,每项等于前两项之和。编程输入一个正整数N,求出数列的第N项是多少?(N不超过30)。program Project1;VAR a:array[1..30] of longint;{建立一...

相似回答
大家正在搜