본문 바로가기

프로그래밍/C#

C# 정렬 sort

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;



namespace Sort

{

class User

{

public string Name;

public int Age;



public User(string _name, int _age)

{

Name = _name;

Age = _age;

}

}

class Sortt

{

public void sort1()

{

int[] intArray = new int[5] { 8, 10, 2, 6, 3 };



for (int i = 4; i > 0; i--)

{

for (int j = 0; j < i; j++)

{

if (intArray[j] > intArray[j + 1])

{

int temp = intArray[j];

intArray[j] = intArray[j + 1];

intArray[j + 1] = temp;

}

}

}



for (int i = 0; i <= 4; i++)

{

Console.Write("{0} ", intArray[i]);

}

}



public void sort2()

{

// sort int array

int[] intArray = new int[5] { 8, 10, 2, 6, 3 };

Array.Sort(intArray);



// write array

foreach (int i in intArray) Console.Write(i + " "); // output: 2 3 6 8 10

}

public void sort3()

{

// array of custom type

User[] users = new User[3] { new User("LEE", 23), // name, age

new User("KIM", 20),

new User("PARK", 25) };



// sort array by name

Array.Sort(users, delegate(User user1, User user2) {

return user1.Name.CompareTo(user2.Name);

});



// write array (output: Betty23 Lisa25 Susan20)

foreach (User user in users) Console.Write(user.Name + user.Age + " ");



// sort array by age

Array.Sort(users, delegate(User user1, User user2) {

return user1.Age.CompareTo(user2.Age); // (user1.Age - user2.Age)

});

// write array (output: Susan20 Betty23 Lisa25)

foreach (User user in users) Console.Write(user.Name + user.Age + " ");

}



public void sort4()

{

User[] users = new User[3] { new User("LEE", 25), // name, age

new User("KIM", 26),

new User("PARK", 27) };

}

}

class Program

{

static void Main(string[] args)

{

Sortt a = new Sortt();

a.sort1();

a.sort2();

a.sort3();

a.sort4();

}

}

}

반응형

'프로그래밍 > C#' 카테고리의 다른 글

C# 타이머 Timer  (0) 2019.03.24
C# 재귀호출  (0) 2019.03.24
C# BinarySearchTree 이진탐색트리  (0) 2019.03.24
C# 파일 읽기  (0) 2019.03.24
C# 문자,숫자,영어,한글 구분  (0) 2019.03.21