主题:排序算法讨论(加30分)
			
 dorremon1992
				 [专家分:870]  发布于 2006-10-14 19:19:00							
			  有没有什么除基本的一些排序外,
  有没有什么稀奇,奇妙的排序算法(效率不一定要高)。
  加30分[em5]
  注意:是算法哦![em1]
						
					 
		
			
回复列表 (共21个回复)
		
								
				沙发
				
					
fxzxg [专家分:430]  发布于 2006-05-17 10:53:00				
				呵呵
用死循环,每次随机产生两个下标,然后交换,再判断数组是否已经有序,若是则退出死循环~~~~~~~~~~~~
							 
						
				板凳
				
					
dorremon1992 [专家分:870]  发布于 2006-05-19 19:40:00				
				
[em10][em10][em10][em10]
							 
						
				3 楼
				
					
chiccs [专家分:40]  发布于 2006-05-20 10:01:00				
				快速冒泡
建立三个数组,读入数组1,然后随机取数组1中一个数。遍历数组,大于这个数归到数组3,
小于这个数的归到数组2。最后分别对数组2和数组3进行优化冒泡排序。
							 
						
				4 楼
				
					
济公二世 [专家分:200]  发布于 2006-08-20 18:19:00				
				选择排序
  设数组中有N个数,取I=1,2,3,.....N-1,每次找出后N-I+1个数字中最小的与第1个数字交换位子。
							 
						
				5 楼
				
					
tl3shi [专家分:110]  发布于 2006-08-24 20:58:00				
				假设有一个数组!
 var
 a:array[1..n]of integer;
  t,i,j:integer;
begin
 for i:=1 to n-1 do 
  for j:=i+1 to n do 
    if a[i]<a[j]  then //升序(a[i]>a[j])
   then  
    begin
         t:=a[i];
        a[i]:=a[j];
        a[j]:=t;
  end;
for i:=1 to n do 
  write(a[i]);
end. 
  这好象叫什么选择排序哦!?
  还有什么冒泡法哦!
							 
						
				6 楼
				
					
interegg [专家分:80]  发布于 2006-08-25 08:42:00				
				小弟不才,我个人认为堆排序也不错.
							 
						
				7 楼
				
					
tongsheng310369 [专家分:30]  发布于 2006-09-14 21:14:00				
				var
 a:array[1..n]of integer;
  t,i,j:integer;
begin
 for i:=1 to n-1 do 
  for j:=i+1 to n do 
    if a[i]<a[j]  then    then  
    begin
         t:=a[i];
        a[i]:=a[j];
        a[j]:=t;
  end;
for i:=1 to n do 
  write(a[i]);
end. 
 
							 
						
				8 楼
				
					
yangxu37 [专家分:30]  发布于 2006-09-18 05:29:00				
				本人个人认为二分法排序也不错,不过还是最中意于快速排序.你要想要源程序,可以给我发邮件!
							 
						
				9 楼
				
					
实验小学 [专家分:30]  发布于 2006-09-27 20:27:00				
				手动排序法最好!!
[em20][em1][em9]
{你打好程序我就排好了,信不?}
大数据........
反正不用高效率!!![em1][em1][em1]
							 
						
									
			
我来回复