All pastes #405721 Raw Edit

Stuff

public java v1 · immutable
·published 2007-03-21 22:06 UTC
rendered paste body
	public void add(int index, E element) {	 	 	CNode temp,temp1;	 			if (totalSize==0)		{			// Must add to front			front = new CNode();			front.data = element;			front.chunkSize = 1;			totalSize++;		}		else {			// Add to the position it asks for			if (front.chunkSize < maxiChunk)			{				// We can add it still				CNode newNode = new CNode();				newNode.data = element;				if (index == 0) {					// Add to the front					temp = front;					front = newNode;					front.chunkSize++;					front.next = temp;					(front.next).previous = front;				}				else if (index > (front.chunkSize-1)) {					// Add to the end					front.chunkSize++;					temp = front;					for (int i=0;i<(front.chunkSize-1);i++)						temp = temp.next;					temp.next = newNode;					(temp.next).previous = temp;				}				else {					// Add where asked					front.chunkSize++;					temp = front;					for (int i=0;i<index;i++)						temp = temp.next;					newNode.next = temp;					(newNode.next).previous = newNode;				}				totalSize++;			}			else {				// Need to create a new chunk				temp = front;				while (temp.chunkSize >= maxiChunk) {					if (temp.nextChunk == null) {						CNode newNode = new CNode();						newNode.data = element;						newNode.chunkSize = 1;						totalSize++;						temp.nextChunk = newNode;						(temp.nextChunk).previousChunk = temp;						// Now add reference to the last element of the						// previous Node.						temp1 = temp;						while (temp1.next != null) {							temp1 = temp1.next;						}						temp1.next = temp.nextChunk;						(temp.nextChunk).previous = temp;						break;					}					else {						temp = temp.nextChunk;					}				}			}		}	}