Разделы презентаций


Лекция 16. Массивы и коллекции.pptx

Содержание

Хранение группы связанных элементов данныхКозьминых Н.М.Хранение группы связанных элементов данных является основным требованием большинства программных приложенийСуществуют два основных способа: МассивыКоллекции

Слайды и текст этой презентации

Слайд 1Лекция 16. Массивы и коллекции
дисциплина «Программирование»
Козьминых Н.М.

Лекция 16. Массивы и коллекциидисциплина «Программирование»Козьминых Н.М.

Слайд 2Хранение группы связанных элементов данных
Козьминых Н.М.
Хранение группы связанных элементов данных

является основным требованием большинства программных приложений
Существуют два основных способа:
Массивы
Коллекции

Хранение группы связанных элементов данныхКозьминых Н.М.Хранение группы связанных элементов данных является основным требованием большинства программных приложенийСуществуют два

Слайд 3Массивы
Козьминых Н.М.
Массив - структура данных, позволяющая хранить под одним именем

совокупность данных любого, но только одного какого-то типа
Удобно использовать для

создания и работы с фиксированным числом строго типизированных объектов
Требования:
все объекты одного типа;
размер массива должен быть указан при его создании;
каждый элемент массива доступен по числовому индексу.

МассивыКозьминых Н.М.Массив - структура данных, позволяющая хранить под одним именем совокупность данных любого, но только одного какого-то

Слайд 4Коллекции, на примере списка (List)
Козьминых Н.М.
Коллекция:
представляет собой совокупность объектов
позволяет динамическое

изменение размера
обеспечивает более быструю работу, по сравнению с массивами, например,

добавление нового элемента в начало списка и в середину, удаление элемента

Коллекции, на примере списка (List)Козьминых Н.М.Коллекция:представляет собой совокупность объектовпозволяет динамическое изменение размераобеспечивает более быструю работу, по сравнению

Слайд 5Методы класса List
Козьминых Н.М.

Методы класса List Козьминых Н.М.

Слайд 6Пример
Козьминых Н.М.
Реализовать приложение, демонстрирующее выполнение заданий при помощи массивов и

коллекций.
Задания:
Удалить последний положительный элемент
Переставить все положительные элементы в начало
Удалить все

элементы с минимальным значением


ПримерКозьминых Н.М.Реализовать приложение, демонстрирующее выполнение заданий при помощи массивов и коллекций.Задания:Удалить последний положительный элементПереставить все положительные элементы

Слайд 7Форма во время проектирования
Козьминых Н.М.

Форма во время проектированияКозьминых Н.М.

Слайд 8Объявление массива и коллекции
Козьминых Н.М.
int[] arr;
List coll = new List();

Объявление массива и коллекцииКозьминых Н.М.int[] arr;List coll = new List();

Слайд 9Инициализация массива и коллекции
Козьминых Н.М.
private void btnCreate_Click(object sender, EventArgs

e) {

int t;
Random rand = new Random();

int n = Convert.ToInt32(txtN.Text);
arr = new int [n];

coll.Clear();

for (int i = 0; i < n; i++) {
t = rand.Next(-10, 10);
arr[i] = t;
coll.Add(t);
}
outputArray(grvArray1);
outputList(grvList1);
}
Инициализация массива и коллекции Козьминых Н.М.private void btnCreate_Click(object sender, EventArgs e)  {

Слайд 10Методы вывода
Козьминых Н.М.
private void outputArray(DataGridView grv) {

grv.Rows.Clear();
grv.RowCount = 1;

grv.ColumnCount = arr.Length;

for (int i = 0; i < arr.Length; i++) {
grv.Columns[i].Name = (i + 1).ToString();
grv.Columns[i].Width = 30;
grv.Rows[0].Cells[i].Value = (arr[i]).ToString();
}
}

private void outputList(DataGridView grv) {
grv.Rows.Clear();
grv.RowCount = 1;
grv.ColumnCount = coll.Count;

for (int i = 0; i < coll.Count; i++) {
grv.Columns[i].Name = (i + 1).ToString();
grv.Columns[i].Width = 30;
grv.Rows[0].Cells[i].Value = (coll[i]).ToString();
}
}
Методы выводаКозьминых Н.М.private void outputArray(DataGridView grv)  {    grv.Rows.Clear();    grv.RowCount =

Слайд 11Вызов решения заданий
Козьминых Н.М.
private void mnuTask1_Click(object sender, EventArgs e)

{
task1Array();

task1List();
lblTextTask.Text = "Удалить последний положительный элемент";
}

private void mnuTask2_Click(object sender, EventArgs e) {
task2Array();
task2List();
lblTextTask.Text = "Переставить все положительные элементы в начало";
}

private void mnuTast3_Click(object sender, EventArgs e) {
task3Array();
task3List();
lblTextTask.Text = "Удалить все элементы с минимальным значением";
}
Вызов решения заданийКозьминых Н.М.private void mnuTask1_Click(object sender, EventArgs e)   {     task1Array();

Слайд 12Решение задания №1
Козьминых Н.М.
private void task1Array() {

for (int i = arr.Length -

1; i >= 0; i--)
if (arr[i] > 0) {
for (int j = i; j < arr.Length - 1; j++)
arr[j] = arr[j + 1];
Array.Resize(ref arr, arr.Length - 1);
break;
}
outputArray(grvArray2);
}

private void task1List() {
for (int i = coll.Count - 1; i >= 0; i--)
if (coll[i] > 0) {
coll.RemoveAt(i);
break;
}
outputList(grvList2);
}
Решение задания №1Козьминых Н.М.private void task1Array()   {      for (int i

Слайд 13Решение задания №1
Козьминых Н.М.

Решение задания №1Козьминых Н.М.

Слайд 14Решение задания №2
Козьминых Н.М.
private void task2Array() {

int p, m = 0;

for (int i = 0; i < arr.Length; i++)
if (arr[i] > 0) {
p = arr[i];
for (int j = i; j > m; j--)
arr[j] = arr[j - 1];
arr[m] = p;
m++;
}
outputArray(grvArray2);
}

private void task2List() {
int p, m = 0;
for (int i = 0; i < coll.Count; i++)
if (coll[i] > 0) {
p = coll[i];
coll.RemoveAt(i);
coll.Insert(m, p);
m++;
}
outputList(grvList2);
}
Решение задания №2Козьминых Н.М. private void task2Array()   {      int p,

Слайд 15Решение задания №2
Козьминых Н.М.

Решение задания №2Козьминых Н.М.

Слайд 16Решение задания №3
Козьминых Н.М.
private void task3Array() {

int min = arr[0];

for (int i = 0; i < arr.Length; i++)
if (arr[i] < min)
min = arr[i];

for(int i = 0; i < arr.Length; i++)
if(arr[i] == min) {
for (int j = i; j < arr.Length - 1; j++)
arr[j] = arr[j + 1];
i--;
Array.Resize(ref arr, arr.Length - 1);
}
outputArray(grvArray2);
}

private void task3List() {
int p = coll.Min();
while(coll.IndexOf(p) >= 0)
coll.Remove(p);
outputList(grvList2);
}
Решение задания №3Козьминых Н.М. private void task3Array()   {      int min

Слайд 17Решение задания №3
Козьминых Н.М.

Решение задания №3Козьминых Н.М.

Слайд 18Решение задания №4
Козьминых Н.М.
private void mnuTask5_Click(object

sender, EventArgs e) {

task5Array(); task5List();
lblTextTask.Text = "Удалить последний нулевой элемент";
}
private void task5Array() {
for (int i = arr.Length - 1; i >= 0 ; i--)
if (arr[i] == 0) {
for (int j = i; j < arr.Length - 1; j++)
arr[j] = arr[j + 1];
Array.Resize(ref arr, arr.Length - 1);
break;
}
outputArray(grvArray2);
}
private void task5List() {
coll.RemoveAt(coll.LastIndexOf(0));
outputList(grvList2);
}


Слайд 19Решение задания №5
Козьминых Н.М.
private void mnuTask8_Click(object sender, EventArgs e)

{
task8Array(); task8List();

lblTextTask.Text = "Значение количества нулевых элементов вставить после максимального элемента";
}
private void task8Array() {
int k = 0;
for (int i = 0; i < arr.Length; i++)
if (arr[i] == 0)
k++;
 
int imax = 0;
for (int i = 0; i < arr.Length; i++)
if(arr[i] > arr[imax])
imax = i;

Array.Resize(ref arr, arr.Length + 1);
for (int j = arr.Length - 1; j > imax + 1; j--)
arr[j] = arr[j - 1];
arr[imax + 1] = k;
 
outputArray(grvArray2);
}
private void task8List() {
int k = 0;
int i = coll.IndexOf(0);
while (i >= 0) {
k++;
i = coll.IndexOf(0, i + 1);
}
coll.Insert(coll.IndexOf(coll.Max()) + 1, k);
outputList(grvList2);
}

Слайд 20Вопросы…

Спасибо за внимание
Козьминых Н.М.

Вопросы…Спасибо за вниманиеКозьминых Н.М.

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика