Программирование >>  Структурное программирование 

1 ... 261 262 263 [ 264 ] 265 266 267 ... 342


Удаление узла из начала списка template<class NODETYPE>

int List<NODETYPE>::removeFromFront(NODETYPE Svalue)

if (isEmptyO) return 0; else {

список пустой

неудачное удаление

ListNode<NODETYPE> *tempPtr = firstPtr;

if (firstPtr == lastPtr)

firstPtr = lastPtr = 0; else

firstPtr = firstPtr->nextPtr;

value = tempPtr->data; delete tempPtr; return 1;

перемещение данных успешное удаление

Удаление узла из конца списка template<class NODETYPE>

int List<NODETYPE>::removeFromBack(NODETYPE Svalue) {

if (isEmptyO )

return 0; else {

ListNode<NODETYPE> *tempPtr = lastPtr;

неудачное удаление

if (firstPtr == lastPtr)

firstPtr = lastPtr = 0; else {

ListNode<NODETYPE> *currentPtr = firstPtr;

while (currentPtr->nextPtr != lastPtr) currentPtr = currentPtr->nextPtr;

lastPtr = currentPtr; currentPtr->nextPtr = 0;

value = tempPtr->data; delete tempPtr; return 1;

удачное удаление

Является ли список пустым ? template<class NODETYPE>

int List<NODETYPE>::isEmptyO const { return firstPtr == 0;



Возвращение указателя на ближайший узел template<class NODETYPE>

ListNode<NODETYPE> *List<NODETYPE>::getNewNode(const NODETYPE

Svalue)

ListNode<NODETYPE> *ptr = new ListNode<NODETYPE>(value);

assert (ptr != 0); return ptr;

Отображение на экране содержимого List

template<class NODETYPE>

void List<NODETYPE>: :print 0 const

if (isEmpty0 ){

cout << Список пуст <<endl endl; return;

ListNode<NODETYPE> *currentPtr = f irstPtr; cout Список состоит из: ;

while (currentPtr != 0) (

cout << currentPtr->data << ; currentPtr = currentPtr->nextPtr;

cout << endl << endl;

ttendif

DRIVER.CPP

Проверка класса List

#include <iostream.h> iinclude boss.h

void testlntegerList (); void testFloatList0;

void instructions 0;

проверка списка целых чисел

/ / проверка списка чисел

с плавающей запятой

инструкции для пользователя

main () {

testlntegerList(); testFloatList();

проверка списка целых чисел проверка списка чисел с плавающей запятой

return 0; }



Функция проверки списка целых чисел void testlntegerList()

cout Проверка списка целых чисел endl; List<int> integerList; instructions(); int choice, value;

do {

cout ?

cin >> choice;

switch (choice) {

case 1:

cout << Введите целое: ; cin >> value;

integerList.insertAtPront(value);

integerList.print();

break;

.pl-

ease 2:

cout << Введите целое: ; cin >>value;

integerList.insertAtBack(value);

integerList.print();

break;

case 3:

if (integerList.removeFromFront(value))

cout value удаляется из спика endl;

integerList.print (); break;

case 4:

if (integerList.removeFromBack(value))

cout value << удаляется из спика endl;

integerList.print(); break;

} while (choice != 5);

cout << Конец проверки списка целых чисел << endl;



1 ... 261 262 263 [ 264 ] 265 266 267 ... 342

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика