aspx二维数据排序代码(c#,vb.net)
代码如下 | 复制代码 |
using System; class Program { static void Main(string[] args) { //冒泡排序 循环总共执行次数 int BubbleSortCount = 0; //改进的冒泡排序 循环总共执行次数 int ImprovedBubbleSortCount = 0; //冒泡排序所需的临时变量 int temp; //一个交错二维数组,用于保存测试数据 int[][] arr2 = new int[1000][]; //创建一个随机类,用于生成随机测试数据 Random r = new Random(); //通过嵌套的for循环,使用上面的随机数对象生成随机测试数据 for (int i = 0; i < arr2.Length; i++) { //新建一个一维数组 int[] arr = new int[10]; for (int j = 0; j < arr.Length; j++) { //通过调用随机类对象 r 的Next方法,随机生成1000以内的测试数据 arr[j] = r.Next(1000); } //将包含测试数据的一维数组作为二维数组的元素 arr2[i] = arr; } //另外保存一份相同的测试数据,用于测试改进的冒泡排序算法效率 int[][] ImprovedArr2 = new int[1000][]; for (int i = 0; i < arr2.Length; i++) { ImprovedArr2[i] = new int[10]; arr2[i].CopyTo(ImprovedArr2[i], 0); } //针对二维数组的每个一维数组元素进行冒泡排序,也就是说测试冒泡排序1000次 for (int h = 0; h < arr2.Length; h++) { //冒泡排序 for (int i = 1; i < arr2[h].Length; i++) { for (int j = 0; j < arr2[h].Length - 1; j++) { if (arr2[h][j] > arr2[h][j + 1]) //将每相邻的两个数相比 { temp = arr2[h][j]; arr2[h][j] = arr2[h][j + 1]; arr2[h][j + 1] = temp; } } //记录每一轮排序 BubbleSortCount++; } } Console.WriteLine("对1000个长度为10的随机数组使用【冒泡排序算法】排序总次数:/t" + BubbleSortCount); //针对二维数组的每个一维数组元素进行【改进的冒泡排序】,也就是说测试【改进的冒泡排序】1000次 bool flag = true; for (int h = 0; h < ImprovedArr2.Length; h++) { //使用改进的冒泡排序进行测试 for (int i = 1; i < ImprovedArr2[h].Length; i++) { //每轮排序结束后都复位标识位 flag = true; for (int j = 0; j < ImprovedArr2[h].Length - 1; j++) { //将每相邻的两个数相比 if (ImprovedArr2[h][j] > ImprovedArr2[h][j + 1]) { temp = ImprovedArr2[h][j]; ImprovedArr2[h][j] = ImprovedArr2[h][j + 1]; ImprovedArr2[h][j + 1] = temp; flag = false; } } ImprovedBubbleSortCount++; if (flag) break; } } Console.WriteLine("对1000个长度为10的随机数组使用【改进的冒泡排序算法】排序总次数:/t" + ImprovedBubbleSortCount); } |
vb.net操作
代码如下 | 复制代码 |
Class Program '针对二维数组的每个一维数组元素进行【改进的冒泡排序】,也就是说测试【改进的冒泡排序】1000次 flag = False |
补充:asp.net教程,.Net开发