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

Алгоритмы сортировки массивов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Небольшой трабл с функциями http://www.cyberforum.ru/cpp-beginners/thread523675.html
#include<stdio.h> #include<conio.h> #include<math.h> #include<iostream> #include<iomanip> using namespace std; void vvod (int w, int n) { cout<<"Введите размер массива"<<endl<<"Размерность...
C++ Нахождение минимума k в матрице подскажите пожалуйста какой код будет для нахождения минимума k в матрице http://www.cyberforum.ru/cpp-beginners/thread523665.html
C++ Выведите список школьников, рост которых превышает задаваемую величину, и определите их средние показатели роста и веса
Файл содержит сведения о школьниках: фамилия, имя, рост и вес. Выведите список школьников, рост которых превышает задаваемую величину, и определите их средние показатели роста и веса. Среди всех...
C++ Найти значение выражения
Задача. Дано квадратная матрица А. Найти \max \left\{a(i_1,j_1),a(i_2,j_2),a(i_3,j_3)\right\} + \min \left\{a(i_2,j_2)-a(i_3,j_3),\frac{a(i_3,j_3)}{2}, \sqrt{a(i1,j1)} \right\} P.S. Уважаемые...
C++ Решение простой задачи по Си: http://www.cyberforum.ru/cpp-beginners/thread523631.html
Добрый день! Помогите пожалуйста решить легкую задачу по Си: Реализовать открытие файла на чтение и запись. Параметр открытия (чтение/запись) вводится с клавиатуры. После открытия файла вывести его...
C++ Определить, лежат ли три точки A, B, C на одной прямой. Если нет, найти угол ABC Даны три точки A(x_1, y_1), \, B(x_2, y_2), \, C(x_3, y_3) Определить будут ли они расположены на одной прямой. Если нет, то вычислить угол АВС. Решение: Три точки лежат на одной прямой... подробнее

Показать сообщение отдельно
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
21.03.2012, 22:01
Цитата Сообщение от Алиш Посмотреть сообщение
нужно листинг программы сделать, можете помочь?
Я Вам скинул сылку выше на алгоритмы сортировок! там есть сортировка вставками! ну раз вы не увидели, тогда

на С++

C++
1
2
3
4
5
6
7
8
9
10
11
12
template< class T >
void insertSort(T* a, int size) 
{
    T tmp;
    for (int i = 1, j; i < size; ++i) // цикл проходов, i - номер прохода
    {
        tmp = a[i];     
            for (j = i - 1; j >= 0 && a[j] > tmp; --j) // поиск места элемента в готовой последовательности 
            a[j + 1] = a[j];    // сдвигаем элемент направо, пока не дошли
        a[j + 1] = tmp; // место найдено, вставить элемент    
    }
}
на Си

C
1
2
3
4
5
6
7
8
9
10
11
void insertSort(int* a, int size) 
{
    int i, j, tmp;
    for (i = 1; i < size; ++i) // цикл проходов, i - номер прохода
    {
        tmp = a[i];     
            for (j = i - 1; j >= 0 && a[j] > tmp; --j) // поиск места элемента в готовой последовательности 
            a[j + 1] = a[j];    // сдвигаем элемент направо, пока не дошли
        a[j + 1] = tmp; // место найдено, вставить элемент    
    }
}
Добавлено через 5 минут
Ладно не заморачивайся! держи такой рабочий код, но если не лень можешь его оптимизировать!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include "iostream"
#include "ctime"
 
using namespace std;
 
int main()
{
    setlocale(0,"");
    srand(time(0));
    const int n = 50;
    int index;
    int A[n] = {0};
 
    for(int i = 0; i < n; i++)
    {
        cout << (A[i] = -5 + rand() % 10) << " ";
    }
 
    for(int i = n; i > 0; i--)
    {
        if(A[i] == 0)
        {
            index = i;
        }
    }
    
    int j;
    for (int i = 1; i < index; ++i) // цикл проходов, i - номер прохода
    {
            int  tmp = A[i];     
            for (j = i - 1; j >= 0 && A[j] > tmp; --j)// поиск места элемента в готовой последовательности 
            A[j + 1] = A[j];    // сдвигаем элемент направо, пока не дошли
        A[j + 1] = tmp; // место найдено, вставить элемент      
    }
 
    cout << endl << endl;
 
    for(int i = 0; i < n; i++)
    {
        cout << A[i] << " ";
    }
 
    system("pause >> null");
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru