برنامه جستو جو خطی ، باینری ، مرتب سازی آرایه بزرگ به کوچک
#include"stdafx.h"#include<iostream>
using namespace std;
class Find
{
public:
void input(int[],int);
int Bsearch(int[], int, int);
int Lsearch(int[], int,int);
void Sort(int[], int);
};
void Find::input(int Lists[], int Sizes)
{
for (int i = 0; i < Sizes; i++)
{
cout << "Enter Number " << i + 1 <<" : ";
cin >> Lists[i];
}
}
int Find::Lsearch(int ListForLSearch[], int length,int cases)
{
for (int i = 0; i < length; i++)
{
if (ListForLSearch[i] == cases)
{
return cases;
}
}
return -1;
}
void Find::Sort(int ForSort[],int size)
{
for (int i = 0; i < size; i++)
{
cout << "Before SORET : " << ForSort[i] << endl << endl;
}
int item, i, j;
for (i = size - 1; i > 0; i--)
for (j = 0; j < i; j++)
{
if (ForSort[j]>ForSort[j + 1])
{
item = ForSort[j];
ForSort[j] = ForSort[j + 1];
ForSort[j + 1] = item;
}
}
for (int i = 0; i < size; i++)
{
cout << "AFTER SORET : " << ForSort[i] << endl<<endl;
}
}
int Find::Bsearch(int ForBsearch[], int size,int item)
{
int low = 0, high = size - 1, mid;
while (low<=high)
{
mid = (low + high) / 2;
if (item < ForBsearch[mid])
{
high = mid - 1;
}
else if (item > ForBsearch[mid])
{
low = mid + 1;
}
else return mid;
}
return -1;
}
int main()
{
//{ Enter Data And Variables (Start)
const int size = 5;
int List[size], item;
Find F;
//} Enter Data And Variables (End)
//{ Enter Data in to the Array (Start)
F.input(List, size);
//} Enter Data in to the Array (End)
//{Find Item LinearSearch (Start)
cout << "Item For Search" << endl;
cin >> item;
if (F.Lsearch(List, size, item)==-1)
{
cout << "This Item Do not Exist" << endl;
}
else
{
cout << "This Item Vojod Drad" << F.Lsearch(List, size, item) << endl;
}
//}Find Item LinearSearch (End)
//{Sort Array (Start)
F.Sort(List, size);
//}Sort Array (End)
item = 0;
//{//Start Bainray Serach
cout << "Item For Search";
cin >> item;
if (F.Bsearch(List, size, item)==-1)
{
cout << "No Exist in List This item : " << item << endl;
}
else
{
cout << "Item Vojod darda " <<item << endl;
}
//}//End Binary Search
cin.get();
cin.ignore();
return 0;
}