首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

惯用的简单算法

2012-10-09 
常用的简单算法用二重循环实现冒泡排序1如何用二重循环将5个数字排序?N 5?5个数字存放在一维数组中?外层

常用的简单算法
用二重循环实现冒泡排序
1如何用二重循环将5个数字排序?N = 5
?5个数字存放在一维数组中
?外层循环控制比较多少轮,?循环变量 i
?内层循环控制每轮比较多少次,?循环变量 j
for (i = 0; i < N-1 ; i++)
{
      for (j = 0; j < N-1-i ; j++)
      {
            // 比较 j 和 j+1 位置的元素
            // 如果前大后小就交换
      }
}
例子 :int类型数组scores 冒泡排序
for (i = 0; i < scores.Length -1 ; i++)
{
      for (j = 0; j < scores.Length -1 - i ; j++)
      {
            if (scores[j] > scores[j + 1])
            {
                  // 交换元素
                  temp = scores[j];
                  scores[j] = scores[j + 1];
                  scores[j + 1] = temp;
            }
      }
}
递归算法:
protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //Response.Write(process(30));
            int[] aa = new int[30];
            aa[0] = 1;
            aa[1] = 1;
            int first = aa[0];
            int second = aa[1];
            for (int i = 2; i <aa.Length; i++)
            {
                aa[i] = first + second;
                first = second;
                second = aa[i];
            }
            Response.Write(aa[29]);
        }

    }
    //递归算法
    private int process(int i)
    {
        if (i==0)
        {
            return 0;
        }
        if (i==1)
        {
            return 1;
        }
        else
        {
            return process(i - 1) + process(i - 2);
        }
    }

热点排行