public void HeapSortFunc(List <int> list) { Heap.Heap <int> heap = new Heap.Heap <int>(); heap._list = list; // 构建堆 heap.HeapCreate(); // 初始尾部元素为末尾元素 int i = list.Count - 1 // 一:每次将堆顶(最大元素)和尾部元素(--i)进行交换 // 二:尾部前边的数据重新构建为堆,再次执行 一、二 // 直到所有元素都执行结束 for (int i = list.Count - 1; i >= 0; --i) { // 将堆顶元素与末尾元素进行交换 int temp = list[0]; list[0] = list[i]; list[i] = temp; // 将新的堆顶元素下虑 heap.PercolateDown(list, 0, i); } }
public İlan() { heap = new Heap.Heap(); sirket = new Sirket(); }