Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Задание. на тему "Обработка последовательности информации"


Курсовая работа

на тему "Обработка последовательности информации"

Вариант 1.1

 

Выполнил:

студент гр. ИС-441

Трофименко П.М.

 

Новосибирск, 2014

 

Задание

Реализовать динамическую библиотеку сортировок. Алгоритмы сортировок выбираются в соответсвии с вариантом задания. Проанализировать эффективность алгоритмов сортировки. Разработать демонстрационную программу, использующую созданную билиотеку.

Алгоритм Bubble Sort

Алгоритм Bubble Sort...Сортировка простыми обменами, сортиро́вка пузырько́м (англ. bubble sort) — простой алгоритм сортировки. Для понимания и реализации этот алгоритм — простейший, но эффективен он лишь для небольших массивов. Сложность алгоритма: O(n^2).

Исходныйт код BubbleSort:

void bubble_sort (int *a, int n) {

int i, t, s = 1;

while (s) {

s = 0;

for (i = 1; i < n; i++) {

if (a[i] < a[i - 1]) {

t = a[i] = a[i - 1];

a[i - 1] = t;

s = 1;

}

}

}

}

Алгоритм Quick Sort

Quicksort - один из самых быстрых известных универсальных алгоритмов сортировки массивов: в среднем O(nlogn) обменов при упорядочении n элементов; из-за наличия ряда недостатков на практике обычно используется с некоторыми доработками.

Исходный код алгоритма:

void quick_sort (int *a, int n) {

int i, j, p, t;

if (n < 2)

return;

p = a[n / 2];

for (i = 0, j = n - 1;; i++, j--) {

while (a[i] < p)

i++;

while (p < a[j])

j--;

if (i >= j)

break;

t = a[i];

a[i] = a[j];

a[j] = t;

}

quick_sort(a, i);

quick_sort(a + i, n - i);

}

 

 

Ход работы

 

Для создания динамической библиотеки, в первую очередь, необходимо создать файлы, в которых будут содержаться функции, которые войдут в нашу библиотеку. Я создал 2 файла quick.c и bubble.c. После этого необходимо скомпилировать их с ключом –fPIC. Команда будет выглядеть так:

gcc -fPIC –c quick.c

В результате мы получим файлы quick.o и bubble.o.

Для создания динамической библиотеки используется ключ –shared:

gcc –shared –o libsort.so quick.o bubble.o

Эта команда скомпилировала нашу библиотеку.

Следующим шагом будет компиляция программы с подключением нашей новой библиотеки. Для начала необходимо скомпилировать файл, содержащий main:

gcc –c bubble_sort.c

На выходе получаем файл bubble_sort.o. Следующим шагом будет компиляция результирующей программы с подключением библиотеки:

gcc bubble_sort.o –L. libsort.so –o bubbleprog

В итоге мы получили файл, который будет получать функцию сортировки из динамической библиотеки. Но есть одно «но». При запуске мы получили ошибку. Проблема в том, что динамический линковщик не может найти нашу библиотеку, так как у него нет данных о её местоположении. Эта проблема решается созданием специальной переменной среды LD_LIBRARY_PATH, в которой перечисляются все каталоги, содержащие пользовательские динамические библиотеки. Устанавливается она следующим образом:

LD_LIBRARY_PATH=/root^${LD_LIBRARY_PATH}

export LD_LIBRARY_PATH

После проделанных манипуляций наша программа запустилась и отработала без ошибок.

 




<== предыдущая лекция | следующая лекция ==>
Put the following sentences into the correct gaps in the text. | PROMOTIONAL TOOLS AND ADVERTISING

Дата добавления: 2015-09-04; просмотров: 522. Нарушение авторских прав; Мы поможем в написании вашей работы!




Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Гальванического элемента При контакте двух любых фаз на границе их раздела возникает двойной электрический слой (ДЭС), состоящий из равных по величине, но противоположных по знаку электрических зарядов...

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

Постинъекционные осложнения, оказать необходимую помощь пациенту I.ОСЛОЖНЕНИЕ: Инфильтрат (уплотнение). II.ПРИЗНАКИ ОСЛОЖНЕНИЯ: Уплотнение...

Приготовление дезинфицирующего рабочего раствора хлорамина Задача: рассчитать необходимое количество порошка хлорамина для приготовления 5-ти литров 3% раствора...

Дезинфекция предметов ухода, инструментов однократного и многократного использования   Дезинфекция изделий медицинского назначения проводится с целью уничтожения патогенных и условно-патогенных микроорганизмов - вирусов (в т...

Studopedia.info - Студопедия - 2014-2025 год . (0.015 сек.) русская версия | украинская версия