Friday, 4 November 2016

Program 7 - Index Sequential Search



#include <stdio.h>
int index_sequential(int a[], int n, int key){
int index[50], i, j = 0, k, gap = 3;
for(i = 0; i < n; i += gap){
index[j++] = i;
}
//Check if last index is last element index
if(index[j-1] != n - 1){
index[j++] = n - 1;
}
for(i = 0; i < j - 1; i++){
if(key >= a[index[i]] && key <= a[index[i+1]]){
for(k = index[i]; k <= index[i + 1]; k++){
if(key == a[k]){
return k;
}
}
}
}
return -1;
}
int main(){
int a[] = {1,2,3,4,5};
int n = sizeof(a) / sizeof(a[0]);
int element;
printf("Enter element to search: ");
scanf("%d", &element);
int pos = index_sequential(a, n, element);
if(pos != -1){
printf("Element found at position: %d\n", pos + 1);
} else {
printf("Element not found\n");
}
return 0;
}










































































No comments:

Post a Comment