public void Sort(IComparer <T> ic)
    {
        T    temp;
        Node actualNode = head;
        bool done       = false;
        IComparer <ClubMember> iClubMember = new ClubMember.SortClubMembersAfterLastName();

        for (int i = 0; i < Count - 1; i++)
        {
            actualNode = head;
            done       = true;

            for (int i2 = 0; i2 < Count - 1 - i; i2++)
            {
                if (ic.Compare(actualNode.Data, actualNode.Next.Data) == 1)
                {
                    temp                 = actualNode.Data;
                    actualNode.Data      = actualNode.Next.Data;
                    actualNode.Next.Data = temp;
                    done                 = false;
                }

                actualNode = actualNode.Next;
            }

            if (done)
            {
                i = Count;
            }
        }
    }
Exemple #2
0
            public void TestSortClubMembersAfterLastName_Compare()
            {
                IComparer <ClubMember> ic = new ClubMember.SortClubMembersAfterLastName();

                Assert.IsTrue(ic.Compare(p4, p13) > 0);   // Mish - Ansley
                Assert.IsTrue(ic.Compare(p4, p24) < 0);   // Mish - Shreenan
                Assert.IsTrue(ic.Compare(p24, p13) > 0);  // Shreenan - Ansley
                Assert.IsTrue(ic.Compare(p24, p24) == 0); // Shreenan - Shreenan
            }