Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.IO;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ConsoleApplication14
- {
- class Program
- {
- static void Main(string[] args)
- {
- List<int> lista = new List<int>();
- int size;
- using (StreamReader reader = new StreamReader("in.txt"))
- {
- string line;
- line = reader.ReadLine();
- size = Int32.Parse(line);
- for (int i = 0; i < size; i++)
- {
- line = reader.ReadLine();
- lista.Add(Int32.Parse(line));
- }
- }
- List<int> lista2 = new List<int>();
- using (StreamReader reader = new StreamReader("in.txt"))
- {
- string line;
- line = reader.ReadLine();
- for (int i = 0; i < size; i++)
- {
- line = reader.ReadLine();
- lista2.Add(Int32.Parse(line));
- }
- }
- List<int> lista3 = new List<int>();
- using (StreamReader reader = new StreamReader("in.txt"))
- {
- string line;
- line = reader.ReadLine();
- for (int i = 0; i < size; i++)
- {
- line = reader.ReadLine();
- lista3.Add(Int32.Parse(line));
- }
- }
- lista.Sort();
- lista3.Sort();
- Console.WriteLine("Lista przed: ");
- foreach (int i in lista) Console.WriteLine(i);
- Console.WriteLine("Liczba elementów: {0} ", lista.Count);
- int pom;
- int pom2;
- int operacje = 0;
- for (int i = 0; i < size; i++)
- {
- pom = lista[i];
- pom2 = lista[i];
- for (int j = 0; j < size; j++)
- {
- if ((lista[j] == (pom) || lista[j] == pom2) && i != j) { lista[i] += lista[j]; pom2 = lista[i]; lista[j] = 0; operacje++; }
- operacje++;
- }
- }
- lista.RemoveAll(i => i == 0);
- Console.WriteLine("\nLista po: \n");
- foreach (int i in lista) Console.WriteLine(i);
- Console.WriteLine("Liczba elementów: {0} ", lista.Count);
- Console.WriteLine("Liczba operacji elementarnych: {0} ", operacje);
- Console.WriteLine("\nSposób drugi z sortowaniem: \n");
- Console.WriteLine("Lista przed: ");
- foreach (int i in lista2) Console.WriteLine(i);
- Console.WriteLine("Liczba elementów: {0} ", lista2.Count);
- int operacjesort = 0;
- int left = 0; ;
- int right=lista2.Count-1;
- var m = left;
- var n = right;
- var pivot = lista2[(left + right) / 2];
- while (m < n)
- {
- operacjesort++;
- while (lista2[m] < pivot) { m++; operacjesort++; }
- operacjesort++;
- while (lista2[n] > pivot) { n--; operacjesort++; }
- if (m <= n)
- {
- var tmp = lista2[m];
- lista2[m++] = lista2[n];
- lista2[n--] = tmp;
- }
- }
- if (left < n) QuickSort(lista2, left, n, operacjesort);
- if (m < right) QuickSort(lista2, m, right, operacjesort);
- int operacje2 = 0;
- int k = 0;
- size = lista2.Count;
- while (k < size)
- {
- pom = lista2[k];
- pom2 = lista2[k];
- for (int j = 0; j < size; j++)
- {
- if ((lista2[j] == (pom) || lista2[j] == pom2) && k != j) { lista2[k] += lista2[j]; pom2 = lista2[k]; lista2[j] = 0; operacje2++; }
- operacje2++;
- }
- k++;
- }
- operacje2 += operacjesort;
- lista2.RemoveAll(i => i == 0);
- Console.WriteLine("\nLista po: \n");
- foreach (int i in lista2) Console.WriteLine(i);
- Console.WriteLine("Liczba elementów: {0} ", lista2.Count);
- Console.WriteLine("Liczba operacji elementarnych: {0} ", operacje2);
- Console.ReadKey();
- using (StreamWriter writer = new StreamWriter("out.txt"))
- {
- writer.WriteLine("Lista przed: ");
- foreach (int i in lista3) writer.WriteLine(i);
- writer.WriteLine("Liczba elementów: {0} ", lista3.Count);
- writer.WriteLine("\nLista po: \n");
- foreach (int i in lista) writer.WriteLine(i);
- writer.WriteLine("Liczba elementów: {0} ", lista.Count);
- writer.WriteLine("Liczba operacji elementarnych: {0} ", operacje);
- writer.WriteLine("\nSposób drugi: \n");
- writer.WriteLine("Lista przed: ");
- foreach (int i in lista3) writer.WriteLine(i);
- writer.WriteLine("Liczba elementów: {0} ", lista3.Count);
- writer.WriteLine("\nLista po: \n");
- foreach (int i in lista2) writer.WriteLine(i);
- writer.WriteLine("Liczba elementów: {0} ", lista2.Count);
- writer.WriteLine("Liczba operacji elementarnych: {0} ", operacje2);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement