// ChangeSorter.cpp: implementation of the ChangeSorter class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "ChangeSorter.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
ChangeSorter::ChangeSorter()
{
head = NULL;
}
ChangeSorter::~ChangeSorter()
{
if (head != NULL) delete head;
}
void ChangeSorter::AddChange(StrBuf input)
{
if (head == NULL)
{
head = new ChangeNode(input);
return;
}
if (input == head->change) {
return;
}
ChangeNode* newnode = new ChangeNode(input);
if (newnode->value == head->value) {
return;
}
if (newnode->value < head->value)
{
newnode->next = head;
head = newnode;
return;
}
ChangeNode* prev = head;
ChangeNode* working = head->next;
while (working != NULL)
{
if (working->value == newnode->value) {
return;
}
if (working->value > newnode->value)
{
newnode->next = working;
prev->next = newnode;
return;
}
prev = prev->next;
working = working->next;
}
prev->next = newnode;
return;
}
int ChangeSorter::GetPos(StrBuf input)
{
if (head == NULL) return 0;
int val = atoi((const char*) input.Text());
ChangeNode* working = head;
int counter = 1;
while (val > working->value)
{
if (working->next == NULL) break;
working = working->next;
counter++;
}
if (val == working->value) return counter;
return 0;
} | # | Change | User | Description | Committed | |
|---|---|---|---|---|---|
| #2 | 937 | Sam Stafford |
Renaming my guest directory to the more conventional sam_stafford. |
||
| #1 | 936 | Sam Stafford |
Adding P4HL to the public depot. See relnotes.txt for installation instructions; all relevant files are under p4hl/dist. Source code is under p4hl/src in the form of a VC++ project. |