asp.net生100个随机数,二分法查找一个简单例子,asp.net随机数,asp.net二分法,asp.net数组冒泡排序。
VS2008新建一个asp.net web 应用程序,前台页Default.aspx代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="web_yhf_suijishu._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>test</title>
</head>
<body>
<form id="form1" runat="server">
<center>
<div>
<asp:Label ID="Label1" runat="server" Text="输入你要查找的整数,点击“查找”按钮,系统自动生成100个0~100之间的随机数并排好序,查找最靠前的一个:"></asp:Label>
<br />
<asp:TextBox ID="TextBox1" runat="server">5</asp:TextBox>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="查找" />
</div>
</center>
</form>
</body>
</html>
<head runat="server">
<title>test</title>
</head>
<body>
<form id="form1" runat="server">
<center>
<div>
<asp:Label ID="Label1" runat="server" Text="输入你要查找的整数,点击“查找”按钮,系统自动生成100个0~100之间的随机数并排好序,查找最靠前的一个:"></asp:Label>
<br />
<asp:TextBox ID="TextBox1" runat="server">5</asp:TextBox>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="查找" />
</div>
</center>
</form>
</body>
</html>
Default.aspx.cs后台页代码:
using System;
namespace web_yhf_suijishu
{
public partial class _Default : System.Web.UI.Page
{
int[] arr = new int[100];
Random r = new Random();
//-----你要查找的数
int inputNum;
//-----100个数排序后的字符串,为显示排序后的100个数
string OrderAfterString;
protected void Page_Load(object sender, EventArgs e)
{
{
public partial class _Default : System.Web.UI.Page
{
int[] arr = new int[100];
Random r = new Random();
//-----你要查找的数
int inputNum;
//-----100个数排序后的字符串,为显示排序后的100个数
string OrderAfterString;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text != "")
{
try
{
inputNum = Convert.ToInt32(TextBox1.Text.ToString());
// -----------Button1.OnClientClick = "return confirm('" + search() + "')";
Response.Write("<script>alert('" + search() + "');window.location.href='Default.aspx'</script>");
{
if (TextBox1.Text != "")
{
try
{
inputNum = Convert.ToInt32(TextBox1.Text.ToString());
// -----------Button1.OnClientClick = "return confirm('" + search() + "')";
Response.Write("<script>alert('" + search() + "');window.location.href='Default.aspx'</script>");
}
catch
{
Response.Write("<script>alert('你输入的不是整数!');window.location.href='Default.aspx'</script>");
catch
{
Response.Write("<script>alert('你输入的不是整数!');window.location.href='Default.aspx'</script>");
}
}
}
public string search()
{
//生成0~100之间100个随机整数,(0,100)表示最小,最大值,自己可以根据修改
for (int i = 0; i < 100; i++)
{
arr[i] = r.Next(0, 100);
}
//100个随机数从大到小排列
for (int m = 0; m < 99; m++)
{
for (int n = m + 1; n < 100; n++)
{
if (arr[n] < arr[m])
{
int t = arr[n];
arr[n] = arr[m];
arr[m] = t;
}
}
}
}
public string search()
{
//生成0~100之间100个随机整数,(0,100)表示最小,最大值,自己可以根据修改
for (int i = 0; i < 100; i++)
{
arr[i] = r.Next(0, 100);
}
//100个随机数从大到小排列
for (int m = 0; m < 99; m++)
{
for (int n = m + 1; n < 100; n++)
{
if (arr[n] < arr[m])
{
int t = arr[n];
arr[n] = arr[m];
arr[m] = t;
}
}
}
//排好序放到一个字符串以便显示
foreach (int n in arr)
{
OrderAfterString += n.ToString();
OrderAfterString += " ";
}
//二分法查找
int low = 0;
int high = arr.Length - 1;
int middle = 0;
string msg;
while (low <= high)
{
middle = (low + high) / 2;
if (inputNum == arr[middle])
{ break; }
if (inputNum > arr[middle])
{ low = middle + 1; }
else
{ high = middle - 1; }
//排好序放到一个字符串以便显示
foreach (int n in arr)
{
OrderAfterString += n.ToString();
OrderAfterString += " ";
}
//二分法查找
int low = 0;
int high = arr.Length - 1;
int middle = 0;
string msg;
while (low <= high)
{
middle = (low + high) / 2;
if (inputNum == arr[middle])
{ break; }
if (inputNum > arr[middle])
{ low = middle + 1; }
else
{ high = middle - 1; }
}
if (low <= high)
{
//找到的提示
return msg = "在100个随机数:" + OrderAfterString + " 找到了你要的数: " + inputNum + " ,位置第 " + (middle + 1) + " 位";
}
else
{
//找不到的提示
return msg = "在100个随机数:" + OrderAfterString + " 没找到你要的数: " + inputNum;
}
}
}
}
if (low <= high)
{
//找到的提示
return msg = "在100个随机数:" + OrderAfterString + " 找到了你要的数: " + inputNum + " ,位置第 " + (middle + 1) + " 位";
}
else
{
//找不到的提示
return msg = "在100个随机数:" + OrderAfterString + " 没找到你要的数: " + inputNum;
}
}
}
}
这只是个简单的例子,大家根据自己需要改进,如果有好的,希望大家也可以分享。

标签:
优品分享(-892)
上一篇: 2011年7月26日卡巴key更新,2011年7月26日最新卡巴key,kav,kis,2011年7月26日卡巴key更新,最新key,kav,kis,卡巴斯基互连网套装,卡巴斯基安全部队
下一篇: 重启还原精灵|重启还原|影子系统|还原精灵
下一篇: 重启还原精灵|重启还原|影子系统|还原精灵
相关文章
评论列表(0) 订阅
暂无评论
禁止评论