list.cpp

来自「规格相当规范的连表演示程序」· C++ 代码 · 共 56 行

CPP
56
字号

#include <assert.h>
#include "List.h"

template<class T>
List<T>::List(){
	length=0;
}

template<class T>
T List<T>::GetValue(int index){
	assert( index<length );
	ListNode<T>* p = head;
	for(int i=0; i<=index && p!=NULL; i++){
		if(i<index)
			p=p->next;
		else
			return p->data;
	}
}

template<class T>
bool List<T>::Insert(int index,T value){
	assert( index<length );
	ListNode<T> x = new ListNode<T>(value);
	ListNode<T>* p = head;
	for(int i=0;i<index;i++){
		if(i==index){
			x->next=p->next->next;
			p->next->next=x;
		}
		else
			p=p->next;
	}
}

template<class T>
void List<T>::Add(T value){
	Insert(length,value);
}

template<class T>
T List<T>::Remove(int index){
	ListNode<T>* p = head;
	for(int i=0;i<index;i++){
		if(i<index-1){
			p=p->next;
		}
		else{
			p->next=p->next->next;
			delete p->next;
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?