Вопрос№37. Использование динамического массива. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Вопрос№37. Использование динамического массива.



using System;

using System.Collections;

 

namespace MyProgram

{

class Program

{

static void ArrayPrint(string s, ArrayList a)

{

Console.WriteLine(s);

foreach (int i in a)

Console.Write(i + " ");

Console.WriteLine();

}

 

static void Main(string[] args)

{

ArrayList myArray = new ArrayList();

Console.WriteLine("Начальная емкость массива: " + myArray.Capacity);

Console.WriteLine("Начальное количество элементов: " + myArray.Count);

 

Console.WriteLine("\nДобавили 5 цифр");

for (int i = 0; i < 5; i++) myArray.Add(i);

Console.WriteLine("Текущая емкость массива: " + myArray.Capacity);

Console.WriteLine("Текущее количество элементов: " + myArray.Count);

ArrayPrint("Содержимое массива", myArray);

 

Console.WriteLine("\nОптимизируем емкость массива");

myArray.Capacity=myArray.Count;

Console.WriteLine("Текущая емкость массива: " + myArray.Capacity);

Console.WriteLine("Текущее количество элементов: " + myArray.Count);

ArrayPrint("Содержимое массива", myArray);

 

Console.WriteLine("\nДобавляем элементы в массив");

myArray.Add(10);

myArray.Insert(1, 0);

myArray.AddRange(myArray);

Console.WriteLine("Текущая емкость массива: " + myArray.Capacity);

Console.WriteLine("Текущее количество элементов: " + myArray.Count);

ArrayPrint("Содержимое массива", myArray);

 

Console.WriteLine("\nУдаляем элементы из массива");

myArray.Remove(0);

myArray.RemoveAt(10);

Console.WriteLine("Текущая емкость массива: " + myArray.Capacity);

Console.WriteLine("Текущее количество элементов: " + myArray.Count);

ArrayPrint("Содержимое массива", myArray);

 

Console.WriteLine("\nУдаляем весь массив");

myArray.Clear();

Console.WriteLine("Текущая емкость массива: " + myArray.Capacity);

Console.WriteLine("Текущее количество элементов: " + myArray.Count);

ArrayPrint("Содержимое массива", myArray);

}

}

}

Вопрос№38.Хэш таблица.

Класс Hashtable предназначен для создания коллекции, в которой для хранения объектов используется хеш-таблица. В хеш-таблице для хранения информации используется механизм, именуемый хешированием (hashing). Суть хеширования состоит в том, что для определения уникального значения, которое называется хеш-кодом, используется информационное содержимое соответствующего ему ключа. Хеш-код затем используется в качестве индекса, по которому в таблице отыскиваются данные, соответствующие этому ключу. Преобразование ключа в хеш-код выполняется автоматически, т.е. сам хеш-код вы даже не увидите. Но преимущество хеширования - в том, что оно позволяет сокращать время выполнения таких операций, как поиск, считывание и запись данных, даже для больших объемов информации. Класс Hashtable реализует стандартные интерфейсы IDictionary, ICollection, IEnumerable, ISerializable, IDeserializationCallback и ICloneable. Размер хеш-таблицы может динамически изменяться. Размер таблицы увеличивается тогда, когда количество элементов превышает значение, равное произведению вместимости таблицы и ее коэффициента заполнения, который может принимать значение на интервале от 0,1 до 1,0. По умолчанию установлен коэффициент равный 1,0. Разработаем простейшую записную книжку, в которую можно добавлять и удалять телефоны, а также осуществлять поиск номера телефона по фамилии и фамилии по номеру телефона.



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 203; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.77.71 (0.006 с.)