12. C-sharp 6 08-10-2013

Created Saturday 23 November 2013

** Array and structs are basic and should be used extensively
** Read module 6 from 2124
** somevar = string.Split(' ');
** params - a way to give a function variable amount of parameters of the same type
*** someme thod (string somevar1, string somevar2, ..., params int[] list)...
*** No sense to use it since you may give arrays to functions
*** params should be in the end only
** Arrays processing algorithms, methods and properties
*** array.Length; -- all dimensions
*** Алгоритмы поиска в массиве
**** Линейный (перебор всех элементов) linear
***** Suitable for not very big arrays
**** Алгоритм двоичного поиска binary
***** Вся область поиска разделяется пополам, выясняется, в какой части лежат данные, опять пополам и т.д.
***** Для выполнения поиска данные в массиве должны быть упорядочены
(отсортированы по числам или алфавиту и т.д.)
**** (больше алгоритмов поиска нет)
**** Обычно встроенные алгоритмы поиска возвращают индекс найденного элемента
или -1, если элемент не найден
*** IndexOf -- returns the index of the first occurrence of a value (linear)

*** Array.BinarySearch(...) -- needs to be sorted first..
** Homework
*** ArrayLib.cs - библиотека для работы с массивом. Описывать в ней функции,
которые затем можно использовать.
*** Написать метод линейного поиска по аналогии с IndexOf, который возвращает индекс первого найденного
элемента в указанном диапазоне индексов, чего IndexOf делать не умеет (поиск в диапазоне):
public static int IndexOfAdv(int[] ar, int indStart, int indEnd, int key). Если нет -- -1
*** Learn:
**** break, exit, goto, return, continue
*** Написать линейный IndexOfAdv2 для поиска всех вхождений искомого элемента. Возвращает массив найденных индексов.
*** Модуль 6 из 2124 - способы обработки массивов, алгоритмы поиска
*** Используя метод IndexOf написать метод static int CountOf(int[], arr, int key), который получит массив,
ключ поиска, и вернёт нам целое число, которое говорит, сколько раз в массиве
встретилось искомое число.



Backlinks: