ВУЗ:
Составители:
Рубрика:
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
{
current = current->next;
prev = prev->next;
}
if(current != NULL && i == current->a.i)
{
// пропускаем элементы, находящиеся в той же
// строке,но в столбцах с меньшим номером
while(current != NULL && j > current->a.j)
{
current = current->next;
prev = prev->next;
}
// если элемент в заданной позиции уже
// имеется,изменяем его значение
if(current != NULL && j == current->a.j)
{
current->a.value = v;
insert = true;
}
}
// вставляем новый элемент в список
if(!insert)
{
help = new ListElement(i, j, v);
prev->next = help;
help->next = current;
count++;
}
}
else
// генерация исключения в случае
// некорректной позиции вставляемого элемента
throw BadIndexException(m, n);
}
// метод удаления элемента по индексам,
// т.е. присвоение элементу нулевого значения
void MatrixList::DeleteElement(int i, int j)
{
ListElement* help, *prev, *current;
// список пуст, следовательно, матрица нулевая
if(head == NULL)
return;
// удаление первого элемента списка
if(head->a.i == i && head->a.j == j)
{
help = head;
head = head->next;
174
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
{
current = current->next;
prev = prev->next;
}
if(current != NULL && i == current->a.i)
{
// пропускаем элементы, находящиеся в той же
// строке,но в столбцах с меньшим номером
while(current != NULL && j > current->a.j)
{
current = current->next;
prev = prev->next;
}
// если элемент в заданной позиции уже
// имеется,изменяем его значение
if(current != NULL && j == current->a.j)
{
current->a.value = v;
insert = true;
}
}
// вставляем новый элемент в список
if(!insert)
{
help = new ListElement(i, j, v);
prev->next = help;
help->next = current;
count++;
}
}
else
// генерация исключения в случае
// некорректной позиции вставляемого элемента
throw BadIndexException(m, n);
}
// метод удаления элемента по индексам,
// т.е. присвоение элементу нулевого значения
void MatrixList::DeleteElement(int i, int j)
{
ListElement* help, *prev, *current;
// список пуст, следовательно, матрица нулевая
if(head == NULL)
return;
// удаление первого элемента списка
if(head->a.i == i && head->a.j == j)
{
help = head;
head = head->next;
174
Страницы
- « первая
- ‹ предыдущая
- …
- 172
- 173
- 174
- 175
- 176
- …
- следующая ›
- последняя »
