Tập con C++ của mảng
Ngày đăng:
31/12/2022
Trả lời:
0
Lượt xem:
29
Phương pháp 2. Mã trong C// Write a program to check whether Array is a subset of another array in C #include int binarySearch(int arr[], int low, int high, int x); int isSubset(int arr1[], int arr2[], int m, int n) { int i = 0; for (i = 0; i < n; i++) { if (binarySearch(arr1, 0, m - 1, arr2[i]) == -1) return 0; } return 1; } int binarySearch(int arr[], int low,int high, int x) { if (high >= low) { /*low + (high - low)/2;*/ int mid = (low + high) / 2; if ((mid == 0 || x > arr[mid - 1]) && (arr[mid] == x)) return mid; else if (x > arr[mid]) return binarySearch(arr, (mid + 1), high, x); else return binarySearch(arr, low, (mid - 1), x); } return -1; } // Driver code int main() { int arr1[] = { 11, 10, 13, 21, 30, 70 }; int arr2[] = { 11, 30, 70, 10 }; int m = sizeof(arr1) / sizeof(arr1[0]); int n = sizeof(arr2) / sizeof(arr2[0]); for(int i=0; iarr1[j]){ int temp = arr1[i]; arr1[i] = arr1[j]; arr1[j] = temp; } } } if (isSubset(arr1, arr2, m, n)) printf("arr2[] is subset of arr1[] "); else printf("arr2[] is not a subset of arr1[]"); return 0; } Show
Cho 2 mảng số nguyên Array1 và Array2 có kích thước lần lượt là M và N(N <= M). Chúng ta phải kiểm tra xem Array2 có phải là tập hợp con của Array1 hay không Mảng A là tập con của mảng B khác nếu mỗi phần tử của A đều có mặt trong B Input Array1 : 3, 5, 7, 12, 1, 9, 10, 0, 2 Input Array2 : 1, 3, 5, 9 Array2 is subset of Array1 ----------------------------- Input Array1 : 3, 5, 7, 12, 1, 9, 10, 0, 2 Input Array2 : 6, 3, 8 Array2 is not a subset of Array1 Cho Array1 và Array2 lần lượt là 2 mảng số nguyên kích thước M và N và ta muốn kiểm tra xem Array2 có phải là tập con của Array1 hay không. Bạo lực. O(M*N)
Chương trình C để kiểm tra xem một mảng có phải là tập hợp con của một mảng khác không#includeĐầu ra array2 is subset of array1 Bằng cách sắp xếp Array1 Chúng ta có thể cải thiện độ phức tạp về thời gian của thuật toán trên bằng cách sắp xếp Array1 trước. Bây giờ, chúng ta có thể tìm kiếm từng phần tử của Array2 trong Array1 bằng tìm kiếm nhị phân.
#includeĐầu ra array2 is subset of array1 Bằng cách sử dụng Hashing
Làm thế nào để có được một tập hợp con của một mảng trong C?Giả sử bạn biết kích thước của mảng 'chính' và đó là một mảng số nguyên, bạn có thể thực hiện việc này. subset = malloc((arraySize-i)*sizeof(int)); // Nơi i là nơi bạn muốn bắt đầu tập hợp con của mình.
Tập hợp con của một mảng là gì?Một dãy con/tập hợp con của một mảng có thể được tạo bằng cách chọn một số (có thể là 0, 1, 2,. hoặc bằng kích thước của mảng) trong số tất cả các phần tử mảng có thể, theo cùng thứ tự mà chúng xuất hiện trong mảng ban đầu .
Có cắt mảng trong C không?Tính năng cắt mảng được hỗ trợ trong các lệnh in và hiển thị cho C, C++ và Fortran . Biểu thức sẽ đánh giá một kiểu mảng hoặc kiểu con trỏ.
Làm cách nào để lấy độ dài mảng trong C?C không cung cấp cách tích hợp sẵn để lấy kích thước của mảng. Như đã nói, nó có toán tử sizeof tích hợp sẵn mà bạn có thể sử dụng để xác định kích thước. Cú pháp chung để sử dụng toán tử sizeof như sau. kích thước kiểu dữ liệu = sizeof(array_name) / sizeof(array_name[index]); |