File tree 3 files changed +163
-0
lines changed
3 files changed +163
-0
lines changed Original file line number Diff line number Diff line change
1
+ //binary search
2
+ #include <stdio.h>
3
+ #include <stdlib.h>
4
+ #include <time.h>
5
+ int flag = 0 ;
6
+
7
+ int binary_search (int arr [], int data , int size ){
8
+ int lb = 0 ,ub = size - 1 ;
9
+ int mid = (lb + ub )/2 ;
10
+ while (lb <=ub && arr [mid ]!= data ){
11
+ if (data == arr [mid ]){
12
+ return mid ;
13
+ }
14
+ else if (data < arr [mid ]){
15
+ ub = mid - 1 ;
16
+ }
17
+ else if (data > arr [mid ]){
18
+ lb = mid + 1 ;
19
+ }
20
+ mid = (lb + ub )/2 ;
21
+ }
22
+ if (arr [mid ]== data ){
23
+ printf ("%d found at %dth index" , data , mid );
24
+ }
25
+ else {
26
+ printf ("%d NOT FOUND!!\n" ,data );
27
+ }
28
+ }
29
+ int main (){
30
+ int i ,j ,range ,data ;
31
+ printf ("Enter a limit for Random array: " );
32
+ scanf ("%d" , & range );
33
+ int arr [range ];
34
+ time_t t1 ;
35
+ srand ((unsigned )time (& t1 ));
36
+ for (i = 0 ;i < range ;i ++ ){
37
+ arr [i ]= rand ()%50 ;
38
+ }
39
+ printf ("ARRAY:: " );
40
+ for (i = 0 ;i < range ;i ++ ){
41
+ printf ("%d " , arr [i ]);
42
+ }
43
+ for (i = 0 ;i < range - 1 ;i ++ ){
44
+ for (j = i + 1 ;j < range ;j ++ ){ //sorting of array
45
+ if (arr [j ]< arr [i ]){
46
+ int temp = arr [i ];
47
+ arr [i ]= arr [j ];
48
+ arr [j ]= temp ;
49
+ }
50
+ }
51
+ }
52
+ printf ("\n\n**We know, Binary Searching works on Sorted array...\n\n" );
53
+ printf ("SORTED ARRAY:: " );
54
+ for (i = 0 ;i < range ;i ++ ){
55
+ printf ("%d " , arr [i ]);
56
+ }
57
+ printf ("\nEnter data to search: " );
58
+ scanf ("%d" , & data );
59
+ //binary search
60
+ printf ("For the sorted array:: " );
61
+ binary_search (arr , data , range );
62
+ return 0 ;
63
+ }
Original file line number Diff line number Diff line change
1
+ //interpolation search
2
+ #include <stdio.h>
3
+ #include <stdlib.h>
4
+ #include <time.h>
5
+ int flag = 0 ;
6
+
7
+ int interpolation_search (int arr [], int data , int size ){
8
+ int lb = 0 ,ub = size - 1 ;
9
+ int mid = lb + (((ub - lb )* (data - arr [lb ]))/(arr [ub ]- arr [lb ]));
10
+ while (lb <=ub && arr [mid ]!= data ){
11
+ if (data == arr [mid ]){
12
+ return mid ;
13
+ }
14
+ else if (data < arr [mid ]){
15
+ ub = mid - 1 ;
16
+ }
17
+ else if (data > arr [mid ]){
18
+ lb = mid + 1 ;
19
+ }
20
+ mid = lb + (((ub - lb )* (data - arr [lb ]))/(arr [ub ]- arr [lb ]));
21
+ }
22
+ if (arr [mid ]== data ){
23
+ printf ("%d found at %dth index" , data , mid );
24
+ }
25
+ else {
26
+ printf ("%d NOT FOUND!!\n" ,data );
27
+ }
28
+ }
29
+ int main (){
30
+ int i ,j ,range ,data ;
31
+ printf ("Enter a limit for Random array: " );
32
+ scanf ("%d" , & range );
33
+ int arr [range ];
34
+ time_t t1 ;
35
+ srand ((unsigned )time (& t1 ));
36
+ for (i = 0 ;i < range ;i ++ ){
37
+ arr [i ]= rand ()%50 ;
38
+ }
39
+ printf ("ARRAY:: " );
40
+ for (i = 0 ;i < range ;i ++ ){
41
+ printf ("%d " , arr [i ]);
42
+ }
43
+ for (i = 0 ;i < range - 1 ;i ++ ){
44
+ for (j = i + 1 ;j < range ;j ++ ){ //sorting of array
45
+ if (arr [j ]< arr [i ]){
46
+ int temp = arr [i ];
47
+ arr [i ]= arr [j ];
48
+ arr [j ]= temp ;
49
+ }
50
+ }
51
+ }
52
+ printf ("\n\n**We know, Interpolation Searching works on Sorted array...\n\n" );
53
+ printf ("SORTED ARRAY:: " );
54
+ for (i = 0 ;i < range ;i ++ ){
55
+ printf ("%d " , arr [i ]);
56
+ }
57
+ printf ("\nEnter data to search: " );
58
+ scanf ("%d" , & data );
59
+ //interpolation search
60
+ printf ("For the sorted array:: " );
61
+ interpolation_search (arr , data , range );
62
+ return 0 ;
63
+ }
Original file line number Diff line number Diff line change
1
+ //linear search or sequential search
2
+ #include <stdio.h>
3
+ #include <stdlib.h>
4
+ #include <time.h>
5
+ int i ,flag = 0 ;
6
+ int linear_search (int arr [], int data , int size ){
7
+ for (i = 0 ;i < size && flag == 0 ;i ++ ){
8
+ if (arr [i ]== data ){
9
+ flag = 1 ;
10
+ printf ("\n%d found at %dth index" , data , i );
11
+ }
12
+ }
13
+ return flag ;
14
+ }
15
+ int main (){
16
+ int range ,data ;
17
+ printf ("Enter a limit for Random array: " );
18
+ scanf ("%d" , & range );
19
+ int arr [range ];
20
+ time_t t1 ;
21
+ srand ((unsigned )time (& t1 ));
22
+ for (i = 0 ;i < range ;i ++ ){
23
+ arr [i ]= rand ()%50 ;
24
+ }
25
+ printf ("ARRAY:: " );
26
+ for (i = 0 ;i < range ;i ++ ){
27
+ printf ("%d " , arr [i ]);
28
+ }
29
+ printf ("\nEnter data to search: " );
30
+ scanf ("%d" , & data );
31
+ //linear search
32
+ linear_search (arr , data , range );
33
+ if (flag == 0 ){
34
+ printf ("\n%d NOT FOUND!!" , data );
35
+ }
36
+ return 0 ;
37
+ }
You can’t perform that action at this time.
0 commit comments