C#四种简单排序
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#四种简单排序,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3594字,纯文字阅读大概需要6分钟。
内容图文
![C#四种简单排序](/upload/InfoBanner/zyjiaocheng/602/4cc41634c8164e5db7ee2d40bc8da96a.jpg)
1 int[] nums = { 9, 5, 3, 1, 6, 4, 7, 2, 0, 8 }; 2 3 #region 冒泡排序 4 //for (int i = 0; i < nums.Length - 1; i++) 5 //{ 6 // for (int j = 0; j < nums.Length - 1 - i; j++) 7 // { 8 // if (nums[j] > nums[j + 1]) 9 // { 10 // int temp = nums[j]; 11 // nums[j] = nums[j + 1]; 12 // nums[j + 1] = temp; 13 // } 14 // } 15 //} 16 17 //for (int i = 0; i < nums.Length - 1; i++) 18 //{ 19 // for (int j = 0; j < nums.Length - 1 - i; j++) 20 // { 21 // if (nums[j] < nums[j + 1]) 22 // { 23 // var tmp = nums[j]; 24 // nums[j] = nums[j + 1]; 25 // nums[j + 1] = tmp; 26 // } 27 // } 28 //} 29 #endregion 30 #region 插入排序 31 //for (int i = 1; i < nums.Length; i++) 32 //{ 33 // int insertVal = nums[i]; //首先记住这个预备要插入的数 34 // int insertIndex = i - 1; //找出它前一个数的下标(等下 准备插入的数 要跟这个数做比较) 35 36 // //如果这个条件满足,说明,我们还没有找到适当的位置 37 // while (insertIndex >= 0 && insertVal < nums[insertIndex]) //这里小于是升序,大于是降序 38 // { 39 // nums[insertIndex + 1] = nums[insertIndex]; //同时把比插入数要大的数往后移 40 // insertIndex--; //指针继续往后移,等下插入的数也要跟这个指针指向的数做比较 41 // } 42 // //插入(这时候给insertVal找到适当位置) 43 // nums[insertIndex + 1] = insertVal; 44 //} 45 #endregion 46 #region 选择排序 47 //for (int i = 0; i < nums.Length - 1; i++) 48 //{ 49 // int min_index = i; //list中最小值的索引 50 // for (int j = i + 1; j < nums.Length; j++) 51 // { 52 // if (nums[j] < nums[min_index]) 53 // { 54 // min_index = j; 55 // } 56 // } 57 // int temp = nums[i]; 58 // nums[i] = nums[min_index]; 59 // nums[min_index] = temp; 60 //} 61 #endregion 62 #region 希尔排序 63 //希尔排序利用了插入排序的一个特点来优化排序算法,插入排序的这个特点就是:当数组基本有序的时候,插入排序的效率比较高。 64 int gap = nums.Length / 2; 65 66 while (1 <= gap) 67 { 68 // 把距离为 gap 的元素编为一个组,扫描所有组 69 for (int i = gap; i < nums.Length; i++) 70 { 71 int j = 0; 72 int temp = nums[i]; 73 74 // 对距离为 gap 的元素组进行排序 75 for (j = i - gap; j >= 0 && temp < nums[j]; j = j - gap) 76 { 77 nums[j + gap] = nums[j]; 78 } 79 nums[j + gap] = temp; 80 } 81 gap = gap / 2; // 减小增量 82 } 83 #endregion 84 85 //打印数组 86 for (int i = 0; i < nums.Length; i++) 87 { 88 Console.WriteLine(nums[i]); 89 }
内容总结
以上是互联网集市为您收集整理的C#四种简单排序全部内容,希望文章能够帮你解决C#四种简单排序所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。