class Program
{
static void Main(string[] args)
{
List<Node> list = new List<Node>();
Random r = new Random();
for (int i = 0; i < 100; i++)
{
list.Add(new Node{Index=i,Value=r.Next(0,100)});
} list.Sort(delegate(Node a, Node b) { return a.Value - b.Value; }); foreach (Node node in list)
{
Console.WriteLine(node.Index);
}
Console.ReadKey();
}
} class Node
{
public int Index
{
get;set;
}
public int Value
{
get;set;
}
}这个可行不,谁有好点的办法
{
static void Main(string[] args)
{
List<Node> list = new List<Node>();
Random r = new Random();
for (int i = 0; i < 100; i++)
{
list.Add(new Node{Index=i,Value=r.Next(0,100)});
} list.Sort(delegate(Node a, Node b) { return a.Value - b.Value; }); foreach (Node node in list)
{
Console.WriteLine(node.Index);
}
Console.ReadKey();
}
} class Node
{
public int Index
{
get;set;
}
public int Value
{
get;set;
}
}这个可行不,谁有好点的办法
解决方案 »
- C# WinCE下使用Socket异步测试1000条讯息快速发送,发现大量丢失,客户端如何判断发送成功?
- 在局域网中怎样获得windows域服务器中用户ID和密码
- VS2010使用的一个问题
- 对象的序列化问题
- 为何通过服务器名可以访问,而通过ip访问就不可以?
- VS2008连接SQL Server2008时出错
- VSS 项目中为什么有些文件能签入有些不能
- 为什么我不能把bmp的图片画上去?在线等待
- 已知a=100,b=200,c=300;如何算出类似 "a+b*(c-a)" 这样的表达式的值呢?
- C#做类似QQ截图的工具时,将截图保存为文件时将保存对话框也给保存下来了?
- 字符串替换
- 第四次发贴:请用过ODBC连接Progress OpenEdge 10.1C 高手进
rand .Next(最小值,最大值)
Random rnd = new Random(DateTime.Now.Millisecond);
Enumerable.Range(1, 100).OrderBy(Guid.NewGuid());
int a=ran.Next(0,101);
console.Write("a.toString");
List<int> NumList = new List<int>();
Random rand = new Random();
while (NumList.Count < 100)
{
int Num = rand.Next(1, 1000);
if (!NumList.Contains(Num))
NumList.Add(Num);
}
{
IList<int> list = new List<int>();
for (int i = 0; i < 100; i++)
{
list = GetNum(list);
}
}
private IList<int> GetNum(IList<int> list)
{
Random r = new Random();
int x = r.Next(0, 101);
if (list.Contains(x))
list = GetNum(list);
else
list.Add(x);
return list;
}
{ public void Fun_Rdm(int maxValue)
{
List<int> NumList = new List<int>();
Random rand = new Random();
int i = 1;
while (true)
{ int Num = rand.Next(0, maxValue);
if (!NumList.Contains(Num))
{
NumList.Add(Num);
Console.WriteLine("第{0}个数为{1}", i++, Num);
}
if (NumList.Count == 100) break;
} }
public static void Main()
{
Class1 class1 = new Class1();
class1.Fun_Rdm(101); }
}
既然是算法, 就不要用自带工具:int[] data = new int[101];
for (int i = 0; i <= 100; )
{
data[i] = i++;
}Random rand = new Random();
for (int i = 0; i <= 100; i++)
{
int r = rand.Next(0, 101);
int v = data[r];
data[r] = data[i];
data[i] = v;
}for (int i = 0; i <= 100; i++)
{
System.Out.Print(data[i]);
}
Enumerable.Range(1, 100).OrderBy(Guid.NewGuid());
能这样写吗?
List<int> NumList = new List<int>();
Random rand = new Random();
while (NumList.Count < 100)
{
int Num = rand.Next(1, 1000);
if (!NumList.Contains(Num))
NumList.Add(Num);
}
class Program
{
List<int> list1 = new List<int>();
List<int> list2 = new List<int>();
static void Main(string[] args)
{
Program pro = new Program();
pro.Test();
pro.Test2();
}
public void Test()
{
for (int i = 0; i < 101; i++)
{
list1.Add(i);
}
}
int q = 101;
public void Test2()
{
if (q > 0)
{
Random ran = new Random();
int a = ran.Next(0, q);
list2.Add(list1[a]);
list1.Remove(list1[a]);
q--;
Test2();
}
else
{
foreach (int i in list2)
{
Console.WriteLine(i);
}
}
}
}
Random random = new Random();LinkedList<int> lList=new LinkedList<int>();for(i=1;i<=100;i++)
{
lList.add(i);
}for(i=1;i<=100;i++)
{
int iRan = random .Next(0,l00-i);// 取随机数
lList[iRan];
}随便写的就是这个意思 没有测试
{
lList.add(i);
}for(i=1;i<=100;i++)
{
int iRan = random .Next(0,l00-i);// 取随机数
lList[iRan];lList.RemoveAt(iRan);
}不好意思 写错了
{
Rand rand=new Rand();//创建一个随机数类的实例
while(1)
{
int i=rand.next(0,100);//产生一个0到100的随机数
while(1)
{
for(int j=0;j<=d;j++)
{
if(i!=d)//产生了不重复的随机数,函数返回
{
Console.WriteLine("产生的随机数为:{0}",i);
data[++flag]=i;
return;
}
i=rand.next(0,100);//没有产生不重复的随机数,继续产生随机数
}
}
}
for (int i = 0; i < 100; i++)
numbers.Add(i);
Random rd = new Random();
int index;
for (int i = 0; i < 100; i++)
{
index = rd.Next(numbers.Count);
Response.Write(numbers[index] + "<br/>");
numbers.RemoveAt(index);
}
int[] numbers = new int[100];
for (int i = 0; i < 100; i++)
numbers[i] = i;
Random rd = new Random();
int index, realLength = numbers.Length, temp;
for (int i = 0; i < 100; i++)
{
index = rd.Next(realLength);
Response.Write(numbers[index] + "<br/>");
temp = numbers[index];
numbers[index] = numbers[realLength - 1];
numbers[realLength - 1] = temp;
realLength--;
}
for (int i = 0; i <= 100; )
{
data[i] = i++;
}Random rand = new Random();
for (int i = 0; i <= 100; i++)
{
int r = rand.Next(0, 101);
int v = data[r];
data[r] = data[i];
data[i] = v;
}for (int i = 0; i <= 100; i++)
{
System.Out.Print(data[i]);
}
{
static void Main(string[] args)
{
int[] array = new int[100]; //定义一个长度为100数组
for (int i = 0; i < array.Length; i++)
{
label://标签
Random Rnd = new Random();
int a = (int)Rnd.Next(1, 101);
array[i] = a; //产生随机数赋值给数组
for (int j = 0; j < i; j++)
{
//判断随机数是否有重复
if (array[j] == array[i])
{
goto label; //跳转执行到label,继续产生随机数
}
}
Console.Write(array[i] + " \t");//输出数组中的元素
}
}
}
2层循环纯算法;
用list<>优化的2层循环纯算法;
用Arraylist,Contains,Add筛选的;
先生成随机数组,然后洗牌;
*/
//以及为了实现而实现的方法,机器不好的不要跑了,效率很高:
import java.util.Random;
public class test {
public static void main(String[] args) {
byte list[] = new byte[3000];
for(int i=0;i<list.length;i++){
list[i] = 0;
}
Random random = new Random();
int k = 0;
for(int j=0;j<1000;j++){
k = random.nextInt(2000);
if(list[k] == 1){
System.out.println(k+"已存在数组中");
}else{
System.out.println(k+"不在数组中,将它放入");
list[k] = 1;
}
}
System.out.println("数组的内容是:");
for(int l=0;l<list.length;l++){
if(list[l] == 1){
System.out.print(l+",");
}
}
}
}
精彩代码期待以后的牛人们实现。。