Форум: "Начинающим";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];
Внизсписки Найти похожие ветки
← →
~Aid~ (2006-11-21 22:40) [0]у меня такой вопрос. надо реализовать список при помощи двумерного массива. всего 3 процедуры инициализация, вставка и удаление...как это сделать??
← →
Zeqfreed © (2006-11-21 23:04) [1]Процедуры? Лучше использовать объектно ориентированный подход. В чем заключается трудность?
← →
Джо © (2006-11-21 23:29) [2]> [0] ~Aid~ (21.11.06 22:40)
> у меня такой вопрос. надо реализовать список при помощи
> двумерного массива. всего 3 процедуры инициализация, вставка
> и удаление...как это сделать??
Рекоммендую книгу Н. Вирта "Алгоритмы и структуры данных". Хорошая книга, кроме шуток. Отлично описываются все эти фундаментальные вещи.
← →
Zeqfreed © (2006-11-21 23:35) [3]
#include <stdio.h>
#include <stdlib.h>
#define MAX_ARRAY_SIZE 500
#define SHIFT_LEFT 1
#define SHIFT_RIGHT -1
static int array[MAX_ARRAY_SIZE];
static int length = 0;
void shift(int from, int direction)
{
int i;
if (from > length) from = length;
if ((length <= 0) || (from < 0)) return;
switch (direction) {
case SHIFT_LEFT:
for (i = length + 1; i > from; i--)
{
array[i] = array[i-1];
}
break;
case SHIFT_RIGHT:
for (i = from; i < length; i++)
{
array[i] = array[i + 1];
}
break;
}
}
void insert(int value, int at_pos)
{
if (length < MAX_ARRAY_SIZE) {
shift(at_pos, SHIFT_LEFT);
array[at_pos] = value;
length++;
} else
fprintf(stderr, "No more free space for data.\n");
}
void delete(int at_pos)
{
if ((length > 0) && (at_pos < length)) {
shift(at_pos, SHIFT_RIGHT);
length--;
}
}
int main()
{
int i;
insert(5, 0);
insert(4, 0);
insert(4, 0);
insert(3, 0);
insert(2, 0);
insert(1, 0);
delete(3);
for (i = 0; i < length; i++)
printf("%d\n", array[i]);
return 0;
}
Во! Кажется, даже работает :) Но я плохо протестировал, че-то у меня голова не соображает, полчаса писал наверное этот код. Разбирайся :-P
← →
MikePetrichenko © (2006-11-22 00:25) [4]
> Zeqfreed © (21.11.06 23:35) [3]
Эх... Лучше на фортране было :(
← →
Eraser © (2006-11-22 00:40) [5]Еще хорошая книга - Бакнелл "Фундаментальные алгоритмы и структуры данных в Delphi".
← →
Zeqfreed © (2006-11-22 01:25) [6]
> Эх... Лучше на фортране было :(
Пишу на чем сподручней :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.046 c