Linear search algorithm
More...
#include <iostream>
#include <cassert>
◆ LinearSearch()
| int LinearSearch |
( |
int * |
array, |
|
|
int |
size, |
|
|
int |
key |
|
) |
| |
for assert
for IO operations
[Algorithm implementation for linear search]
- Parameters
-
| [in] | array | array to search in |
| [in] | size | length of array |
| [in] | key | key value to search for |
- Returns
- index where the key-value occurs in the array
-
-1 if key-value not found
22{
23 for (int i = 0; i < size; ++i)
24 {
25 if (array[i] == key)
26 {
27 return i;
28 }
29 }
30
31
32 return -1;
33}
◆ main()
Main function.
- Returns
- 0 on exit
71{
72 int mode = 0;
73
75 std::cout <<
"Self-test mode (1), interactive mode (2): ";
76
78
79 if (mode == 2)
80 {
81 int size = 0;
82 std::cout <<
"\nEnter the size of the array [in range 1-30 ]: ";
84
85 while (size <= 0 || size > 30){
86 std::cout <<
"Size can only be 1-30. Please choose another value: ";
88 }
89
90 int *array = new int[size];
91 int key = 0;
92
93
94 std::cout <<
"Enter the array of " << size <<
" numbers: ";
95 for (int i = 0; i < size; i++)
96 {
98 }
99
100 std::cout <<
"\nEnter the number to be searched: ";
102
104 if (index != -1)
105 {
106 std::cout <<
"Number found at index: " << index <<
"\n";
107 }
108 else
109 {
111 }
112 delete[] array;
113 }
114 else
115 {
117 }
118 return 0;
119}
static void tests()
Self-test implementations.
Definition: linear_search.cpp:39
int LinearSearch(int *array, int size, int key)
for assert
Definition: linear_search.cpp:21
◆ tests()
Self-test implementations.
- Returns
- void
40{
41 int size = 4;
42 int *array = new int[size];
43 for (int i = 0; i < size; i++)
44 {
45 array[i] = i;
46 }
47
51
52 size = 6;
53 for (int i = 0; i < size; i++)
54 {
55 array[i] = i;
56 }
57
61
62 std::cout <<
"All tests have successfully passed!\n";
63 delete[] array;
64}