Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Сұрыптау (Сортировка; sorting) - массив элементтерін белгілі бір заңдылықпен орындарын ауыстырып реттеупроцессін айтамыз. Мысалы, сандар массивін өсуі, кемуі бойынша сұрыптау, жолдар массивін алфавит бойынша сұрыптау және тағы басқа. Сұрыптау мақсаты - көптеген сұрыпталған обьектінің ішінен белгілі бір элементті іздеуді оңайлату. Ақпараттық жүйелерде мәліметтерді сұрыптаудың маңызы өте зор.
Жұп-тақ сұрыптау - сұрыптау алгоритмдеріндегі көпіршікті сұрыптаудың бір модификациясы, паралелльді процессорларға арналған қарапайым алгоритм. Сұрыптаудың массив элементтерінің жұп және тақ индекстерін салыстыру арқылы жүзеге асырылады. Жұп-тақ сұрыптау алгоритмін 1972 жылы Н. Хаберман ұсынды. Жұмыс істеу уақыты O(). Жұп-тақ сұрыптауы аты айтып тұрғандай әр итерацияда не тақ, не жұп нөмерлі элементтермен жұмыс жасайды.
#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
int main(){
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
int n,i,j,a[99],s=0;
cin>>n;
for(i = 0; i < n; i++)
cin>>a[i];
for(i = 0; i < n; i++)
{
if (i%2!= 0)
{
for(j = 2; j < n; j+=2)
if (a[j] < a[j-1]){
swap(a[j-1], a[j]);
s++;}
}
else
{
for(j = 1; j < n; j+=2)
if (a[j] < a[j-1]){
swap(a[j-1], a[j]);
s++;}
}
for(j = 0; j < n; j++)
cout << a[j] << " ";
cout << endl;
if(s == 0) break;
else s = 0;
}
return 0;
}
Дата публикования: 2015-07-22; Прочитано: 968 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!