русс | укр

C# - Главная
Контакты
Задайте вопрос...
Просмотр всех вопросов


Пространство имен
  ► System
  ► Microsoft


Для учеников (начинающих)
  ► Видео уроки
  ► Обучение
  ► Примеры программ
  ► Секреты в Си Шарп

Для профессионалов
  ► Обучение
  ► Примеры программ
  ► Задачки - для тебя!










Программа сортировки массива на Си Шарп

Написать программу, которая сортирует массив. Использовать свой код сортировки массива по возрастанию и по убыванию. Сравнить результаты.

 

Код программы с написанием своего кода сортировки:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace S4
{
     class Program
     {
          static void Main(string[] args)
          {
               Random r = new Random();
               int temp;
               int[] mas = new int[10];
               for (int i = 0; i < mas.Length; i++)
               {
                    mas[i] = r.Next(0, 101); // массив заполняется случайными числами от 0 до 100
               }
               Console.WriteLine("Print mas:");
               for (int i = 0; i < mas.Length; i++)
               {
                    Console.Write(mas[i] + "\t"); // вывод массива
               }
               Console.WriteLine("Print mas sort:");

               // простейшая пузырьковая сортировка
               int s = 1; // переменная для указания сортировка по возрастанию или по убыванию. 1 - по возрастанию, -1 - по убыванию
               for (int j = 0; j < mas.Length; j++) // простейшая пузырьковая сортировка
                    for (int i = 0; i < mas.Length - 1; i++)
                    {

                         if (mas[i] * s > mas[i + 1] * s)
                         {
                              temp = mas[i];
                              mas[i] = mas[i + 1];
                              mas[i + 1] = temp;
                         }
                    }
               // конец пузырьковой сортировки

               for (int i = 0; i < mas.Length; i++)
               {
                    Console.Write(mas[i] + "\t"); // вывод массива
               }
               Console.WriteLine("Print mas sort:");

               // простейшая пузырьковая сортировка
               s = -1; // переменная для указания сортировка по возрастанию или по убыванию. 1 - по возрастанию, -1 - по убыванию
               for (int j = 0; j < mas.Length; j++) // простейшая пузырьковая сортировка
                    for (int i = 0; i < mas.Length - 1; i++)
                    {

                         if (mas[i] * s > mas[i + 1] * s)
                         {
                              temp = mas[i];
                              mas[i] = mas[i + 1];
                              mas[i + 1] = temp;
                         }
                    }
               // конец пузырьковой сортировки

               for (int i = 0; i < mas.Length; i++)
               {
                    Console.Write(mas[i] + "\t"); // вывод массива
               }

               Console.Read(); // задержка экрана до нажатия любой клавиши
          }
     }
}

Результат работы:

 

Код программы с использованием метода сортировки:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace S4
{
     class Program
     {
          static void Main(string[] args)
          {
               Random r = new Random();
               int[] mas = new int[10];
               for (int i = 0; i < mas.Length; i++)
               {
                    mas[i] = r.Next(0, 101); // массив заполняется случайными числами от 0 до 100
               }
               Console.WriteLine("Print mas:");
               for (int i = 0; i < mas.Length; i++)
               {
                    Console.Write(mas[i] + "\t"); // вывод массива
               }
               Console.WriteLine("Print mas sort:");

               Array.Sort(mas);

               for (int i = 0; i < mas.Length; i++)
               {
                    Console.Write(mas[i] + "\t"); // вывод массива
               }
               Console.WriteLine("Print mas sort:");

               Array.Reverse(mas); // изменяет порядок элементов на обратный

               for (int i = 0; i < mas.Length; i++)
               {
                    Console.Write(mas[i] + "\t"); // вывод массива
               }

               Console.Read(); // задержка экрана до нажатия любой клавиши
          }
     }
}

Метод Reverse очень интересный, мы его можем использовать для сортировки в обратную сторону, поэтому, если мы хотим отсортировать по убыванию, можно использовать именно его!

Результат работы программы:

 

Итак, мы видим, что написал одну строку кода, мы получаем отсортированный массив!

 

Просмотров: 23530






© 2012 ci-sharp.ru При использовании материала прямая индексирующая ссылка на сайт ОБЯЗАТЕЛЬНА.
Права строго защищены нормами международного права, интеллектуальной собственности и авторского права.