Форум программистов, компьютерный форум CyberForum.ru

Линейный поиск в массиве и списке - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Чтение из файла http://www.cyberforum.ru/cpp-beginners/thread963019.html
Как вывести содержимое ранее созданных файлов на на экран? Вот кусок кода. Открыть то я открыл, а построчно вывести не могу, не знаю что написать) do { scanf("%i", &k); switch(k) { case 1: {file = fopen(FileName,"r"); break; } case 2: {file = fopen(FileNameR,"r"); break; } case 3: {system("cls"); main();} }
C++ Нужно отсортировать методом Шелла с++ #include "stdafx.h" #include <iostream> #include<cstdlib> #include<ctime> using namespace std; int main () {const int n=3;const int m=3; int a; srand(time(NULL)); int i,j; http://www.cyberforum.ru/cpp-beginners/thread963013.html
Быстрый поиск супернатуральных чисел C++
Натуральное число будем называть супернатуральным, если в своем десятичном виде оно не содержит единиц, а произведение всех его цифр равно n. Для заданного n выясните, сколько существует супернатуральных чисел. Технические условия Входные данные: Содержит одно целое число n, не превосходящее 2×109. Выходные данные: Вывести количество супернатуральных чисел по модулю 101. Информация о...
C++ Найти координаты четвертой вершины параллелограмма
Привет всем. Вот задали совсем простенькую задачку: Известно, что точки с координатами (x1, y1), (x2, y2), (x3, y3) являются тремя вершинами некоторого параллелограмма. Найти координаты четвертой вершины. Все бы хорошо, но я не знаю как ее решить, не как написать код, а саму геометрическую часть, т.е. алгоритм, помогите пожалуйста :)
C++ Чёрный ящик или белый ящик http://www.cyberforum.ru/cpp-beginners/thread962982.html
Всем привет. Задали программу написать a + b и сумму вывести в файл, а птом протестировать либо на чёрный ящик, либо на белый ящик. Я лекции прочитал и инфу. в нете, вроде понял , а как писать не знаю. вот код программы подкиньте идеи и код(тестора) , в первый раз на наглядном примере будет легче понять и разобраться спасибо - НАРОД. #include <stdio.h> long a,b; int main(){ ...
C++ Как реализировать заполнение массива квадратами? Я создал програму которая заполняет двумерный масив символами 35, а потом в рандомных местах создает прямоугольники символами 46, мне нужно чтобы все квадраты были связаны друг с другом линиями из знаков 46, как это осуществить? подробнее

Показать сообщение отдельно
Cynacyn
 Аватар для Cynacyn
33 / 33 / 0
Регистрация: 02.05.2013
Сообщений: 109
26.09.2013, 18:31     Линейный поиск в массиве и списке
попробуйте описать функцию поиска так, чтобы она была похоже на алгоритмы STL, тогда Ваша функция будет максимально гибкой
C++
1
2
typedef<class T>
T* LinearSearch(T* begin, T* end, T key); // если не находит ничего, то возвразащает end; end - это не последний элемент последовательности, а следующий за ним
в Вашем классе лист нужно будет реализовать два метода .begin(), который бы возвращал указатель на головной узел, и .end() который бы возвращал указатель на узел следующий за последним (это обусловлено понятием полуоткрытой [begin:end) последовательности в STL), что то типа:
C++
1
2
3
4
Node* end() {
Node* p = tail; 
p++;
return p; }
пример вызова для вашего класса list
C++
1
2
3
4
List l1;
// заполняем список
some_type key; 
Node* result =  LinearSearch(l1.begin(),l1.end(),key)
на всякий случай скажу что должны быть определены операторы сравнения для Node
пример вызова для std::vector<int> v;
C++
1
int* result = LinearSearch(v.begin(),v.end(),key)
для массива double d_arr[20];
C++
1
double* result = LinearSearch(d_arr,d_arr+20,key)
 
Текущее время: 15:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru