Προγραμματισμός

Γνώση Υπολογιστών >> Προγραμματισμός >  >> C /C + + Προγραμματισμός

Πρόγραμμα C για τον υπολογισμό της γραμμικής και δυαδικής αναζήτησης;

```γ

#include

// Λειτουργία για την εκτέλεση γραμμικής αναζήτησης

int linearSearch(int arr[], int n, int key) {

για (int i =0; i αν (arr[i] ==κλειδί) {

επιστροφή i;

}

}

επιστροφή -1;

}

// Λειτουργία για την εκτέλεση δυαδικής αναζήτησης

int binarySearch(int arr[], int n, int key) {

int low =0;

int υψηλό =n - 1;

ενώ (χαμηλό <=υψηλό) {

int mid =(χαμηλό + υψηλό) / 2;

if (arr[mid] ==κλειδί) {

επιστροφή στα μέσα?

} else if (arr[mid] χαμηλό =μεσαίο + 1;

} αλλο {

υψηλό =μεσαίο - 1;

}

}

επιστροφή -1;

}

int main() {

int arr[] ={1, 3, 5, 7, 9, 11, 13, 15, 17, 19};

int n =sizeof(arr) / sizeof(int);

κλειδί int =11;

int result =linearSearch(arr, n, key);

αν (αποτέλεσμα ==-1) {

printf("Το στοιχείο δεν βρέθηκε με χρήση γραμμικής αναζήτησης.\n");

} αλλο {

printf("Στοιχείο που βρέθηκε στο ευρετήριο %d με χρήση γραμμικής αναζήτησης.\n", αποτέλεσμα);

}

αποτέλεσμα =binarySearch(arr, n, key);

αν (αποτέλεσμα ==-1) {

printf("Το στοιχείο δεν βρέθηκε με χρήση δυαδικής αναζήτησης.\n");

} αλλο {

printf("Στοιχείο που βρέθηκε στο ευρετήριο %d με χρήση δυαδικής αναζήτησης.\n", αποτέλεσμα);

}

επιστροφή 0;

}

```

Παραγωγή:

```

Στοιχείο που βρέθηκε στο ευρετήριο 5 χρησιμοποιώντας γραμμική αναζήτηση.

Στοιχείο που βρέθηκε στο ευρετήριο 5 χρησιμοποιώντας δυαδική αναζήτηση.

```

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα