
Int chislo;//переменная для хранения числа
int a=1;//переменная счетчик
//сообщение пользователю//
cout<<"Lineyniy poisk"<<endl;
cout<<"Vvedite chislo:"<<endl;
cin>>chislo;
//цикл перебора всех елементов//
for(int y=0;y<nsize;y++)
{
if(pSize[y]==chislo)//если текуший елемент равен числу
{
cout<<"rezultat:"<<chislo<<endl;//вывод результата
break;//выход из цикла
}
else
a++;//инкриментирование переменной на один
}
if(a==nsize+1)//если такого числа не найдено
cout<<"Znachenie ne naydeno"<<endl;//вывод сообщения
else//если есть
cout<<"Kolichestvo chagov:"<<a<<endl;//вывод кол-ва шагов
/////////////////////////////////////////////////////////////////
////////////двоичный поиск////////////////////////////////////
int d=0;//счетчик шагов
int j2=nsize-1;//левая граница
int i2=0; //правая граница
Int h;//вводимое число
int k1=0;
cout<<"Dvoicniy poisk"<<endl;
cout<<"Vvedite chislo"<<endl;
cin>>h;
while(1)
{
if((pSize[i2]==h) || (pSize[j2]==h))//если число равно ел-ту справа или слева
{
k1++;//инкриминтирование переменной
break;//выход из цыкла
}
d++;//инкриминтирование переменной
i2++;//инкриминтирование переменной
if(i2==j2)//если левая граница равна правой
break;//выход из цикла
j2--;//дикриминтирование переменной
if(i2==j2)//если опять
break;//выход из цикла
}
///////////сообщения пользователю///////////////////
cout<<"Rezultat poiska:"<<endl;
cout<<"kolichestvo shagov:"<<++d<<endl;
cout<<"Bistraya sortirovka"<<endl;
quickSortR<int>(pSize,nsize-1);//вызов функции быстрой сортировки
///////////вывод на экран массива////////////////////
for(i=0;i<nsize;i++)
{
cout<<pSize[i]<<" "<<flush;
}
cout<<endl;
}
Вывод:
При работе с массивами или просто с какой-либо совокупностью данных часто необходимо их упорядочивать или находить какое-то значение. Для упорядочивания данных существуют различные методы. Например: метод Шелла, метод пузырька, выборки, вставки, выборки и вставки, а также метод Быстрой сортировки. Он является самым эффективным и быстрым методом для сортирования данных. Для поиска элементов существуют два метода: двоичный поиск, и линейный. Двоичный является более эффективным т.к при его использовании затрачивается меньше шагов для поиска и по этому он является более быстрым и удобным в отличии от линейного поиска.