文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>常见的算法快速分析解决(一)

常见的算法快速分析解决(一)

时间:2011-05-25  来源:类菌体

题目:用冒泡法从键盘输入10个数字,编写代码对他排序 分析:       冒泡法排序将待排序的元素看做是垂直的气泡,值较小的元素比较轻,往上浮动,在这里算法中需要对这组“气泡”出来若干次;每处理一次,就对两个相邻的“气泡”的值进行交换,当位置较高的“气泡”大于另一个“气泡”的值,则可以通过临时变量将两个“气泡”的值交换,所以此时,第一次处理后,最轻的“气泡”值就浮到最高的位置,第二次处理后,第二轻的数据浮到第二高的位置。一般处理N次以后,这时就没有必要比较第N高位置以上的“气泡”,因为此时差不多的“气泡”都正确排好了序. 代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace bubble_sort
{
class Program
{
static void Main(string[] args)
{
int a, b,temp;
int[] Bubble_sort_arr = new int[10];//定义类型为int的数组Bubble_sort_arr
Console.WriteLine("请输入10个整数");
for (a=0; a < 10;a++ )//将输入的10个数字存储于数组的子项当中
{
Bubble_sort_arr[a]
= Convert.ToInt32(Console.ReadLine());
}
for (b = Bubble_sort_arr.Length - 1; b > 0;b-- )//经过2层的循环,将数组中的子项数值进行交换
{
for(a=0;a<b;a++)
{
//当前一项大于后一项的时候,将交换两项的位置
if (Bubble_sort_arr[a] > Bubble_sort_arr[a + 1])
{
temp
= Bubble_sort_arr[a];
Bubble_sort_arr[a]
= Bubble_sort_arr[a + 1];
Bubble_sort_arr[a
+ 1] = temp;
}
}

}
Console.WriteLine(
"排好序的10个整数是");
for (a = 0; a < Bubble_sort_arr.Length;a++ )
{
Console.WriteLine(Bubble_sort_arr[a].ToString());
}
Console.ReadLine();

}
}
}
结果:   题目:递归法对一组的排序规则为:1、1、2、3、5、8、13、21、34........请求第50位的数值 分析:       从给出的数字序列当中发现规律,第1个数字和第2个数字相加之和为第3个数;第2个数和第3个数的和为第4个数,依次类推,可知道第N-1个数字和第N个数字相加的和为第N+1数字,此时可以得到如下规律:       当N=0;或者N=1时,F(N)=1;      当N>1时,F(N)=F(N-1)+F(N-2);此时不难得到第50个数字是多少了...如图: 代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Recursion
{
class Program
{
static void Main(string[] args)
{

Console.WriteLine(
"输出第50为的是{0}",GetNumber(49));
Console.ReadKey();
}
static int GetNumber(int N)
{
if (N <= 1)
{
return 1;
}

return GetNumber(N - 1) + GetNumber(N - 2);

}
}
}
结尾: 接下继续:常见的算法快速分析解决(二)
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载