51Testing软件测试论坛

标题: 测试leader因掌握的算法之排序篇 [打印本页]

作者: eagleyes125    时间: 2007-1-18 16:06
标题: 测试leader因掌握的算法之排序篇
如果你是测试leader,有一些算法或是程序你应该学会,它能够反映出你开发的能力,同时可以活跃一下你的脑筋.

1. 冒泡排序


  1. package com.myprogram.utility;
  2. /*
  3. *  @author         xyshang
  4. *  @date                 2007-01-18
  5. *  @function         sort numbers from small to large
  6. */
  7. public class SortNumber {
  8.        
  9.         //冒泡排序法
  10.         public static int[] SortMaoPao(int[] numbers){
  11.                 int len = numbers.length;
  12.                 int temp;
  13.                 for(int i=0;i<len;i++){
  14.                         for(int j=0;j<len-i-1;j++){
  15.                                 if(numbers[j]>numbers[j+1]){
  16.                                         temp = numbers[j];
  17.                                         numbers[j] = numbers[j+1];
  18.                                         numbers[j+1] = temp;
  19.                                 }
  20.                         }
  21.                 }
  22.                 return numbers;
  23.         }
  24.         public static void outputNumber(int[] lists){
  25.                 for(int i=0;i<lists.length;i++){
  26.                         System.out.print(lists[i]);
  27.                 }
  28.         }
  29.         public static void main(String[] args){
  30.                 int[] numbers = {5,4,3,2,9,1,0,6,8,7};
  31.                 System.out.print("Original Numbers is \t: ");
  32.                 outputNumber(numbers);
  33.                 System.out.print("\nSorted Numbers is \t: ");
  34.                 outputNumber(SortMaoPao(numbers));
  35.                 }
  36. }

复制代码

作者: eagleyes125    时间: 2007-1-18 16:09

  1. //选择排序法
  2. public static int[] SortChoose(int[] numbers){
  3.   int len = numbers.length;
  4.   int temp;
  5.   int pos;
  6.   for(int i=1;i<len;i++){
  7.       temp = numbers[i];
  8.       pos = i-1;
  9.       while(pos>=0 && temp<numbers[pos]){
  10.           numbers[pos+1] = numbers[pos];
  11.           pos--;
  12.       }
  13.       numbers[pos+1] = temp;
  14.    }
  15.    return numbers;
  16. }
复制代码

作者: lana.li    时间: 2007-1-24 11:17
顶一个!
作者: archonwang    时间: 2007-1-24 15:31
这个帖子不错,重新复习下C语言。
作者: eagleyes125    时间: 2007-1-25 16:33
大家有更先进或是快速的方法也可以贴在后面.

注意:如果程序复杂,尽量多些注释,这样可以方便其它人学习和使用.
作者: 欣奕    时间: 2007-1-30 10:31
sdlkfj3 温习下开发语言和数据结构!谢谢楼主!




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2