Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdlib>
- #include <iostream>
- #include <ctime>
- #include <algorithm>
- using namespace std;
- void wstaw(int tab[], int n){
- srand(time(NULL));
- for (int i=0;i<n;i++){
- tab[i]=(rand()%500 )+1;
- }
- }
- void drukuj(int tab[], int n){
- for(int i=0;i<n;i++)
- cout<<tab[i]<<" ";
- cout<<endl<<endl;
- }
- int wyszukiwanieLiniowe(int tab[], int n, int s){
- int i=1;
- while(i<=n && s!=tab[i-1])
- i+=1;
- if (i>n)
- return -1;
- return i-1;
- }
- int wyszukiwanieBinarne(int tab[], int n, int s){
- for(int i=0;i<n-1;i++)
- for(int j=0;j<n-1;j++){
- if(tab[j]>tab[j+1])
- swap(tab[j],tab[j+1]);
- }
- cout<<"Tablica po posrotowaniu: "<<endl;
- drukuj(tab,n);
- int srodek,lewy=0;
- int prawy=n;
- bool znaleziono = false;
- while(lewy<=prawy && !znaleziono){
- srodek=(lewy+prawy)/2;
- if(tab[srodek]==s)
- return srodek;
- else{
- if(s<tab[srodek])
- prawy=srodek-1;
- else
- lewy=srodek+1;
- }
- }
- return -1;
- }
- int main(int argc, char *argv[])
- {
- const int N=20;
- int tab[N],s,x;
- cout<<"Wygenerowane losowe wartosci wygladaja nastepujaco: "<<endl;
- wstaw(tab,N);
- drukuj(tab,N);
- cout<<"Podaj szukana liczbe: ";
- cin>>x;
- cout<<endl<<"Wynik wyszukiwania lokalnego: ";
- cout<<wyszukiwanieLiniowe(tab,N,x)<<endl<<endl;
- cout<<"Wynik wyszukiwania binarnego: "<<endl;
- cout<<wyszukiwanieBinarne(tab,N,x)<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement