Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.98/44: Рейтинг темы: голосов - 44, средняя оценка - 4.98
Sich_Taras
14 / 14 / 4
Регистрация: 08.10.2009
Сообщений: 114
#1

Как создать класс вектор

30.03.2010, 12:20. Просмотров 7884. Ответов 3
Метки нет (Все метки)

Всем привет!

Клас вектор - это динамический массив, у которого память под элементы выделяется по мере их добавление в массив (в конец) и наоборот - если мы убираем элементы (с конца), то память освобождается.
Как написать такой клас (без шаблонов под int) ?

Для меня краеугольным камнем есть именно работа с памятью, которая отводится под массив.
Напишите пожалуйста хотя б кусок кода, где бы было ясно как сделать такой прием из массивом.
Буду весьма благодарен за содержательный ответ.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2010, 12:20
Ответы с готовыми решениями:

Как создать в C# функцию не входящую ни в один класс как в С++
Возникла новая проблема в языке С++ можно было создать функцию, как кусочек...

Как создать класс внутри метода С#?
Как создать класс внутри метода С# Язык программирования С# Csharp У меня...

Как можно создать общий класс для разных типов
как можно создать общий класс для разных типов переменной name (Int32, Double,...

Создать сериализуемый класс
Как создать сериализуемый класс? С простым выдаёт Exception(

Можно ли создать безопасный многопоточный класс
Всем еще раз привет. Пишу класс, который общается с USB- устройством. У него...

3
kuroiryuu
320 / 304 / 68
Регистрация: 05.11.2009
Сообщений: 712
Завершенные тесты: 2
30.03.2010, 12:40 #2
В C# много есть коллекций, например List<T>:
C#
1
2
3
4
5
6
7
8
9
10
11
12
List<string> l = new List<string>();
l.Add("one");
l.Add("two");
l.Add("three");
l.Add("four");
Console.WriteLine("List count: {0}",l.Count);
for (int i = 0; i < l.Count; i++)
    Console.WriteLine(l[i]);
Console.WriteLine();
l.Remove("two");
for (int i = 0; i < l.Count; i++)
    Console.WriteLine(l[i]);
так же почитайте про Hashtable, ArrayList и т.д.
0
Mikant
1282 / 954 / 127
Регистрация: 08.12.2009
Сообщений: 1,299
30.03.2010, 20:59 #3
как-то так, наверное:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        public class SimpleList<T> {
 
            private T[] innerArray = new T[0];
 
            public void Add(T element) {
                System.Array.Resize<T>(ref innerArray, innerArray.Length + 1);
                innerArray[innerArray.Length - 1] = element;
            }
 
            public void RemoveLast() {
                System.Array.Resize<T>(ref innerArray, innerArray.Length - 1);
            }
 
            public T this[int index] {
                get { return innerArray[index]; }
                set { innerArray[index] = value; }
            }
 
        }
2
Sich_Taras
14 / 14 / 4
Регистрация: 08.10.2009
Сообщений: 114
30.03.2010, 22:22  [ТС] #4
Большое спасибо Mikant !
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.03.2010, 22:22

Создать класс комплексное число в тригонометрической форме
Создать класс комплексное число в тригонометрической форме a=p(cos ф+ i sin ф),...

DirectX: создать класс устройства без графики
Решил заняться изучением платформы DirectX. Делаю все по книге Miller - DirectX...

Создать класс для работы с двумерным массивом вещественных чисел
Создать класс для работы с двумерным массивом вещественных чисел. Разработать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru