кодесурса
«C ++

Упражнения на C ++: поиск наименьшего элемента, отсутствующего в отсортированном массиве

script1adsense2code
script1adsense3code

C ++ Array: Упражнение 10 с решением

Напишите программу на C ++, чтобы найти наименьший элемент, отсутствующий в отсортированном массиве.

Пример решения:

Код C ++:

#include<iostream>
#include<algorithm>
using namespace std;
int smalest_missing_num(int nums[], int start_pos, int end_pos)
{
    if (start_pos  > end_pos)
        return end_pos + 1;
 
    if (start_pos != nums[start_pos])
        return start_pos;
 
    int mid = (start_pos + end_pos) / 2;
 
    if (nums[mid] == mid)
        return smalest_missing_num(nums, mid + 1, end_pos);
 
    return smalest_missing_num(nums, start_pos, mid);
}
 
int main()
{
    int nums[] = {0, 1, 3, 4, 5, 6, 7, 8, 10};
    int result;
	int n = sizeof(nums)/sizeof(nums[0]);
	cout << "Original array: ";
    for (int i=0; i < n; i++) 
    cout << nums[i] <<" ";
    result = smalest_missing_num(nums, 0, n-1);
    cout << "\nSmallest missing element is " << result;
  return 0;     
}

Пример вывода:

 Ginal массив: 0 1 3 4 5 6 7 8 10 
Наименьший недостающий элемент - 2

Блок - схема:

«Блок-схема:

Редактор кода C ++:

Внесите свой код и комментарии через Disqus.

Предыдущий: Напишите программу на C ++ для сортировки заданного несортированного массива целых чисел в форме волны.
Далее: написать программу на C ++ для обновления каждого элемента массива путем умножения следующих и предыдущих значений заданного массива целых чисел.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code