首页 > 代码库 > 泛型的冒泡,插入,选择,希尔算法
泛型的冒泡,插入,选择,希尔算法
留着给自己用吧...
public class FanXingHelper<T> where T:IComparable { /// <summary> /// 冒泡排序算法 /// </summary> /// <param name="array"></param> public T[] MaoPao(T[] array) { int length = array.Length; for (int i = 0; i <= length-2; i++) { for (int j = length-1; j>=1 ; j--) { if (array[j].CompareTo(array[j-1])<0) { T temp = array[j]; array[j] = array[j - 1]; array[j - 1] = temp; } } } return array; } /// <summary> /// 直接插入排序 /// </summary> /// <param name="array"></param> /// <returns></returns> public T[] ZhiJieChaRu(T[] array) { int length = array.Length; for (int i = 1; i < length-1; i++) { int j = i; while (j>=1&&array[j].CompareTo(array[j-1])>0) { T temp = array[j]; array[j] = array[j - 1]; array[j - 1] = temp; j--; } } return array; } /// <summary> /// 选择排序 /// </summary> /// <param name="array"></param> /// <returns></returns> public T[] XuanZhePaiXu(T[] array) { int length = array.Length; for (int i = 0; i <= length-2; i++) { int index = i; for (int j = length-1; j >i; j--) { if (array[j].CompareTo(array[index])<0) { index = j; } T temp = array[i]; array[i] = array[index]; array[index] = temp; } } return array; } /// <summary> /// 希尔排序算法 /// </summary> /// <param name="array"></param> /// <returns></returns> public T[] XiErPaiXu(T[] array) { int length = array.Length; for (int i = length/2;i>0; i=i/2) { for (int j = i; j < i; j++) { if (array[j].CompareTo(array[j-i])>0) { T temp = array[j]; int key = j - i; while (key >= 0 && array[key].CompareTo(temp) > 0) { array[key + i] = array[key]; key -= i; } array[key + i] = temp; } } } return array; } }
如果有错希望能指出来...谢谢
这个主要是看了.net之美突发奇想所以写的这个东西
参考:
http://www.cnblogs.com/JimmyZhang/category/128644.html
泛型的冒泡,插入,选择,希尔算法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。