КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Сортировка массивов
End. Begin Begin Var Type End. Begin Var End. Begin Begin Var Type Var Type Var Type Многомерные массивы End. Begin Var Type Const n=4; vector=array[1..n] of real; u, v:vector; s, d:real; {S – скалярное произведение, d - длина} i:integer; s:=0; d:=0; for i:=1 to n do begin read(u[i],v[i]); S:=S + u[i]*v[i]; d:=d + v[i]*v[i]; end; d:=sqrt(d); writeln(S, ‘ ‘,d);
ЛЕКЦИЯ №11 Схема описания многомерного массива array [<тип индекса>] of array [тип индекса] of < тип элемента > Тип элемента может быть любым кроме файлового. Примеры описания двумерных массивов: stroka = array [1..5] of integer; matrix = array [1..3] of stroka; a:matrix; matrix = array [1..5] of array [1..3] of integer; a:matrix; matrix = array [1..3,1..5] of integer; Доступ к элементам массива: a[1][1]:= 1; a[1,1]:= 1; Многомерный массив: var x: array [1..3, 5..10, 2..4] of real x[1,5,2]:=1; Элементы матрицы хранятся по строками
Такой способ даёт возможность индексировать целые строки. Примеры программ: 1. Перестановка столбцов матрицы program ColChange; const n=3; a: array [1..n,1..n] of real; i, j, col1, col2: integer; temp: real; {ввод матрицы} writeln(‘ Введите номера столбцов для перестановки ’); readln(col1, col2); for i:= 1 to n do temp:= a[i,col1]; a[i,col1]:= a[i,col2]; a[i,col2]:= temp; end; {вывод матрицы} 2. Удаление строки матрицы program ColDelete; const n = 3, m = 4; a:array [1..n, 1..m] of real; I, j,k, newn: integer; { вводматрицы } readln(k); { строка которую надо удалить } for i:= k to n -1 do for j:=1 to m do a[i, j]:= a[i + 1, j]; newn:= n-1; { новое количество строк } { вывод матрицы до строки newn } Так как объем памяти, выделяемый под массив остается неизменным, последняя строка дублируется. 3. Умножение матриц. (три вложенных цикла) program MultMatrix; const p=10 { максимальный размер обрабатываемых матриц } matrix = array [1..p, 1..p] of real; a, b, c: matrix; i, j, k, n, m, l: integer; { вводматрицы } For i:= 1 to n do for j:= 1 to m do c[i, j]:= 0; for k:=1 to l do c[i, j]:= c[i, j] + a[i, k]*b[k, j]; … { вывод матрицы } 4. Ввод размеров и элементов матриц. writeln(‘ Введите количество строк матрицы А, n <= ’, p); readln(n); writeln(‘ Введите количество строк < = ’, p); readln(L); writeln(‘ Введите ‘, n * L, ‘ элементов матрицы А ’); for i:= 1 to n do for j:= 1 to L do read(a[i,j]); { Аналогично для матрицы В, количество строк = L } for i:= 1 to L do for j:= 1 to n do read(b[i,j]); Сортировка – процесс перегруппировки заданного множества объектов в соответствии с определенными критериями (например, по возрастанию). Цель сортировки – облегчить поиск элементов в отсортированном массиве Методы: ü Внутренний (не предусматривает использования дополнительных массивов, хранится в ОП) ü Внешний (применяется к большим массивам, расположенным на внешних носителях) Элементарные методы сортировки ü Сортировка вставкой ü Сортировка выбором ü Сортировка обменом (пузырьковая) Усовершенствованные методы сортировки ü Быстрая сортировка (метод Хоара) ü Сортировка методом Шелла ü С помощью дерева или пирамидальный ü Методом слияния. Требования к алгоритму сортировки ü Устойчивость (относительное расположение элементов с равными значениями не меняется) ü Экономное использование памяти ü Эффективность (время работы) Мерой эффективности языка являются: · С – число операций сравнения · M – число операций обмена Хорошие алгоритмы сортировки требуют операций сравнения.
Дата добавления: 2014-01-07; Просмотров: 273; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |