C# 数组及冒泡排序的简单应用——双色球

Random r = new Random();
int[] caipiao = new int[7];//建立彩票数组
Console.WriteLine("双色球随机:");
while (true)
{
for (int i = 0; i < 6; )//随机红球
{
if (i == 0)
{
caipiao[i] = r.Next(1, 34);
i++;
}
else
{
int temp = r.Next(1, 34);
for (int j = 0; j < i; )
{
if (temp == caipiao[j])
{
temp = r.Next(1, 34);
j = 0;//随机出的数再次从第一个数开始遍寻
}
else
{
j++;
}
}
caipiao[i] = temp;//将不重复的数 赋值给I的下一位
i++;
}
}
for (int i = 0; i < 6; i++)//冒泡排序
{
for (int j =0; j < 6-i-1; j++)
{
int t = 0;
if (caipiao[j] < caipiao[j+1])
{
t = caipiao[j];
caipiao[j] = caipiao[j+1];
caipiao[j+1] = t;
}
}
}
caipiao[6] = r.Next(1, 17);
Console.Write("红球:");

for (int i = 0; i < caipiao.Length; i++)
{
if (i == 6)
{
Console.Write("篮球:" + caipiao[i] + "\t");
}
else
{
Console.Write(caipiao[i] + "\t");
}
}
Console.ReadLine();

时间: 2024-11-09 04:44:10

C# 数组及冒泡排序的简单应用——双色球的相关文章

七大内部排序算法总结(插入排序、希尔排序、冒泡排序、简单选择排序、快速排序、归并排序、堆排序)

 写在前面: 排序是计算机程序设计中的一种重要操作,它的功能是将一个数据元素的任意序列,重新排列成一个按关键字有序的序列.因此排序掌握各种排序算法非常重要.对下面介绍的各个排序,我们假定所有排序的关键字都是整数.对传入函数的参数默认是已经检查好了的.只是简单的描述各个算法并给出了具体实现代码,并未做其他深究探讨. 基础知识: 由于待排序的记录数量不同,使得排序过程中设计的存储器不同,可将排序方法分为两大类:一类是内部排序,指的是待排序记录存放在计算机随机存储器中进行的排序过程.另一类是外部排序,

数组,冒泡排序,简化

//    int array[] = {3, 2, 6, 9, 8, 5, 7, 1, 4}; //    int count = sizeof(array) / sizeof(array[0]); //    int flag = 1; //    for (int i = 0; i < count - 1 && flag == 1; i++) { //        flag = 0; //        for (int j = 0; j < count - i - 1

「C语言」「算法」数组的冒泡排序

1 #include<stdio.h> 2 #define N 10 3 4 //数组的冒泡排序 5 6 void sort(int b[]){ 7 int i,j; 8 for(i=0;i<N;i++){ 9 for(j=i+1;j<N;j++){ 10 if(b[i]>b[j]){ 11 b[i]^=b[j]; 12 b[j]^=b[i]; 13 b[i]^=b[j]; 14 } 15 } 16 } 17 } 18 19 int main() { 20 int a[N];

冒泡排序与简单选择排序——Java实现

1.冒泡排序 1)原理说明:重复遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成. 2)代码实现: package com.test.sort; public class BubbleSort { public static void sort(int[] data) { for (int i = 0; i < data.length; i++) { for (int j = data.length

排序(二)__冒泡排序、简单选择排序和直接插入排序

前面<排序(一)__综述>提到按照算法的复杂度分为简单算法和改进算法两大类,本文主要就简单算法中的冒泡排序.简单选择排序和直接插入排序进行通俗详细的解析. 一.冒泡排序 1.基本概念 冒泡排序是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止.(动态图来自维基百科) 2.关键代码(优化之后) void BubbleSort(SqList *L) { int i,j; Status flag=TRUE;            //flag用作标记,避

数组的冒泡排序

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> //数组的冒泡排序 arr = [1, 4, 7, 2]; //a = 1, b = 4, c = 7, d = 2 //1. 2. 3. 4 //abcd四个人相遇了,他们要排队,身高

直接插入排序、二分插入排序、希尔排序、冒泡排序与简单选择排序

一.直接插入排序 稳定,时间复杂度:最好O(n).最差O(n^2).平均O(n^2),空间复杂度O(1) void InsertSort(int L[], int n) { int i, j,key; for (i = 1; i<n; i++) if(L[i] < L[i-1])//需要将L[i]插入到有序表L[0...i-1] { key = L[i]; for(j = i-1; j >= 0 && key < L[j]; j--)//后移 L[j+1] = L[

排序算法学习之简单排序(冒泡排序,简单选择排序,直接插入排序)

一.冒泡排序 冒泡排序算是最基础的一种算法了,复杂度为O(N^2),其基本思想是:从最低端数据开始,两两相邻比较,如果反序则交换.代码如下: /*最基本的冒泡排序*/ void BubbleSort1 (int n, int *array) /*little > big*/ { int i, j; for (i=0; i<n-1; i++) { for (j=n-1; j>i; j--) { if (array[j] < array[j-1]) { int temp = array

冒泡排序、简单选择排序、直接插入排序

冒泡排序(Bubble Sort)的基本思想:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止.时间复杂度为O(n2). 简单选择排序(Simple Selection Sort)的基本思想:通过n-i次关键字之间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i个记录交换.应该说,尽管与冒泡排序同为O(n2), 但简单选择排序的性能上还是要略优于冒泡排序. 直接插入排序(Straight Insertion Sort)的基本思想:将一个记录插入到前面已经排序好的有序表中