public static void SortArray(object sortingObject) { string[] stringArray = (string[])sortingObject; for (int i = 0; i < stringArray.Length; i++) { for (int j = i; j < stringArray.Length; j++) { compareDel = new compareDelegate(CompareStrings); bool result = compareDel(stringArray[i], stringArray[j]); if (result) { SwapElements(stringArray, i, j); } } } }
public BinarySearchTree(compareDelegate compare) { numberOfElements = 0; this.compare = compare; }
//Generates a binary search tree from // data made available elsewhere public BinarySearchTree(int size, getNewKey keyGetter, getNewValue valueGetter, compareDelegate compare) { this.compare = compare; bool latch = true; TreeConstructor firstInChain = new TreeConstructor(0, size - 1); TreeConstructor workingBranch; TreeConstructor previousBranch; add(keyGetter(firstInChain.index), valueGetter(firstInChain.index)); while (latch) { workingBranch = firstInChain; workingBranch.bud(); if (false == workingBranch.leftBranch.atEnd()) { add(keyGetter(workingBranch.leftBranch.index), valueGetter(workingBranch.leftBranch.index)); } else { latch = false; if (workingBranch.leftBranch.valid()) { add(keyGetter(workingBranch.leftBranch.index), valueGetter(workingBranch.leftBranch.index)); } } if (false == workingBranch.rightBranch.atEnd()) { latch = true; add(keyGetter(workingBranch.rightBranch.index), valueGetter(workingBranch.rightBranch.index)); } else { latch = latch || false; if (workingBranch.rightBranch.valid()) { add(keyGetter(workingBranch.rightBranch.index), valueGetter(workingBranch.rightBranch.index)); } } while (workingBranch.hasNext) { previousBranch = workingBranch; workingBranch = workingBranch.nextBranch; workingBranch.bud(); previousBranch.rightBranch.leadTo(workingBranch.leftBranch); if (false == workingBranch.leftBranch.atEnd()) { latch = true; add(keyGetter(workingBranch.leftBranch.index), valueGetter(workingBranch.leftBranch.index)); } else { latch = latch || false; if (workingBranch.leftBranch.valid()) { add(keyGetter(workingBranch.leftBranch.index), valueGetter(workingBranch.leftBranch.index)); } } if (false == workingBranch.rightBranch.atEnd()) { latch = true; add(keyGetter(workingBranch.rightBranch.index), valueGetter(workingBranch.rightBranch.index)); } else { if (workingBranch.rightBranch.valid()) { add(keyGetter(workingBranch.rightBranch.index), valueGetter(workingBranch.rightBranch.index)); } latch = latch || false; } } firstInChain = firstInChain.leftBranch; } }
public cSortList(List <T> _arr, compareDelegate _comDel) { m_arr = _arr; m_comDel = _comDel; }