구조체 정렬
이번 글에서는 C# 언어를 사용하여 구조체를 정렬하는 방법에 대해 알아보겠습니다. 여기에서는 사람을 나타내는 클래스를 예제로 사용하고, 이들을 나이를 기준으로 정렬하겠습니다.
코드 예제
StructSort.cs
파일을 생성하고 아래 코드를 작성합니다.
using System;
using System.Linq;
namespace StructSort
{
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
public class Program
{
public static void Main()
{
Person[] people =
{
new Person {Id = 1, Name = "홍길동", Age = 20},
new Person {Id = 2, Name = "백두산", Age = 25},
new Person {Id = 3, Name = "임꺽정", Age = 30},
new Person {Id = 4, Name = "한라산", Age = 28},
};
Console.WriteLine("정렬되지 않은 사람들:");
foreach (var person in people)
{
Console.WriteLine($"{person.Id}: {person.Name}, {person.Age}");
}
var sortedPeople = people.OrderBy(person => person.Age).ToArray();
Console.WriteLine("나이별로 정렬된 사람들:");
foreach (var person in sortedPeople)
{
Console.WriteLine($"{person.Id}: {person.Name}, {person.Age}");
}
}
}
}
코드 실행 결과
이 코드를 실행하면 다음과 같은 결과를 얻습니다.
정렬되지 않은 사람들:
1: 홍길동, 20
2: 백두산, 25
3: 임꺽정, 30
4: 한라산, 28
나이별로 정렬된 사람들:
1: 홍길동, 20
2: 백두산, 25
4: 한라산, 28
3: 임꺽정, 30
위 결과에서 보듯이, 우리는 클래스를 나이를 기준으로 성공적으로 정렬하였습니다.
구조체 정렬
이번 글에서는 C 언어를 사용하여 구조체를 정렬하는 방법에 대해 알아보겠습니다. 여기에서는 사람을 나타내는 구조체를 예제로 사용하고, 이들을 나이를 기준으로 정렬하겠습니다.
코드 예제
struct_sort.c
파일을 생성하고 아래 코드를 작성합니다.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct
{
int id;
char name[20];
int age;
} Person;
int compare(const void* a, const void* b)
{
return ((Person*)a)->age - ((Person*)b)->age;
}
int main(void)
{
Person people[] =
{
{1, "홍길동", 20},
{2, "백두산", 25},
{3, "임꺽정", 30},
{4, "한라산", 28},
};
int n = sizeof(people) / sizeof(people[0]);
printf("정렬되지 않은 사람들:\n");
for (int i = 0; i < n; i++)
{
printf("%d: %s, %d\n", people[i].id, people[i].name, people[i].age);
}
qsort(people, n, sizeof(Person), compare);
printf("나이별로 정렬된 사람들:\n");
for (int i = 0; i < n; i++)
{
printf("%d: %s, %d\n", people[i].id, people[i].name, people[i].age);
}
return 0;
}
코드 실행 결과
이 코드를 실행하면 다음과 같은 결과를 얻습니다.
정렬되지 않은 사람들:
1: 홍길동, 20
2: 백두산, 25
3: 임꺽정, 30
4: 한라산, 28
나이별로 정렬된 사람들:
1: 홍길동, 20
2: 백두산, 25
4: 한라산, 28
3: 임꺽정, 30
위 결과에서 보듯이, 우리는 구조체를 나이를 기준으로 성공적으로 정렬하였습니다.
개체 정렬
이번 글에서는 Java 언어를 사용하여 개체를 정렬하는 방법에 대해 알아보겠습니다. 여기에서는 사람을 나타내는 클래스를 예제로 사용하고, 이들을 나이를 기준으로 정렬하겠습니다.
코드 예제
SortObjects.java
파일을 생성하고 아래 코드를 작성합니다.
import java.util.*;
class Person {
int id;
String name;
int age;
Person(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
}
public class SortObjects {
public static void main(String[] args) {
List<Person> people = Arrays.asList(
new Person(1, "홍길동", 20),
new Person(2, "백두산", 25),
new Person(3, "임꺽정", 30),
new Person(4, "한라산", 28)
);
System.out.println("정렬되지 않은 사람들:");
for (Person person : people) {
System.out.printf("%d: %s, %d\n", person.id, person.name, person.age);
}
Collections.sort(people, Comparator.comparingInt(person -> person.age));
System.out.println("나이별로 정렬된 사람들:");
for (Person person : people) {
System.out.printf("%d: %s, %d\n", person.id, person.name, person.age);
}
}
}
코드 실행 결과
이 코드를 실행하면 다음과 같은 결과를 얻습니다.
정렬되지 않은 사람들:
1: 홍길동, 20
2: 백두산, 25
3: 임꺽정, 30
4: 한라산, 28
나이별로 정렬된 사람들:
1: 홍길동, 20
2: 백두산, 25
4: 한라산, 28
3: 임꺽정, 30
위 결과에서 보듯이, 우리는 클래스를 나이를 기준으로 성공적으로 정렬하였습니다.
개체 정렬
이번 글에서는 Python 언어를 사용하여 개체를 정렬하는 방법에 대해 알아보겠습니다. 여기에서는 사람을 나타내는 클래스를 예제로 사용하고, 이들을 나이를 기준으로 정렬하겠습니다.
코드 예제
sort_objects.py
파일을 생성하고 아래 코드를 작성합니다.
class Person:
def __init__(self, id, name, age):
self.id = id
self.name = name
self.age = age
people = [
Person(1, "홍길동", 20),
Person(2, "백두산", 25),
Person(3, "임꺽정", 30),
Person(4, "한라산", 28)
]
print("정렬되지 않은 사람들:")
for person in people:
print(f"{person.id}: {person.name}, {person.age}")
people.sort(key=lambda person: person.age)
print("나이별로 정렬된 사람들:")
for person in people:
print(f"{person.id}: {person.name}, {person.age}")
코드 실행 결과
이 코드를 실행하면 다음과 같은 결과를 얻습니다.
정렬되지 않은 사람들:
1: 홍길동, 20
2: 백두산, 25
3: 임꺽정, 30
4: 한라산, 28
나이별로 정렬된 사람들:
1: 홍길동, 20
2: 백두산, 25
4: 한라산, 28
3: 임꺽정, 30
위 결과에서 보듯이, 우리는 클래스를 나이를 기준으로 성공적으로 정렬하였습니다.
개체 정렬
이번 글에서는 웹 기반 JavaScript를 사용하여 개체를 정렬하는 방법에 대해 알아보겠습니다. 여기에서는 사람을 나타내는 개체를 예제로 사용하고, 이들을 나이를 기준으로 정렬하겠습니다.
코드 예제
sort_objects.js
파일을 생성하고 아래 코드를 작성합니다.
var people = [
{id: 1, name: "홍길동", age: 20},
{id: 2, name: "백두산", age: 25},
{id: 3, name: "임꺽정", age: 30},
{id: 4, name: "한라산", age: 28}
];
console.log("정렬되지 않은 사람들:");
for (var i = 0; i < people.length; i++) {
console.log(people[i].id + ": " + people[i].name + ", " + people[i].age);
}
people.sort(function(a, b) {
return a.age - b.age;
});
console.log("나이별로 정렬된 사람들:");
for (var i = 0; i < people.length; i++) {
console.log(people[i].id + ": " + people[i].name + ", " + people[i].age);
}
코드 실행 결과
이 코드를 실행하면 다음과 같은 결과를 얻습니다.
정렬되지 않은 사람들:
1: 홍길동, 20
2: 백두산, 25
3: 임꺽정, 30
4: 한라산, 28
나이별로 정렬된 사람들:
1: 홍길동, 20
2: 백두산, 25
4: 한라산, 28
3: 임꺽정, 30
위 결과에서 보듯이, 우리는 개체를 나이를 기준으로 성공적으로 정렬하였습니다.
개체 정렬
이번 글에서는 C++을 사용하여 개체를 정렬하는 방법에 대해 알아보겠습니다. 여기에서는 사람을 나타내는 개체를 예제로 사용하고, 이들을 나이를 기준으로 정렬하겠습니다.
코드 예제
sort_objects.cpp
파일을 생성하고 아래 코드를 작성합니다.
#include <iostream>
#include <vector>
#include <algorithm>
struct Person {
int id;
std::string name;
int age;
};
bool compare(const Person& a, const Person& b) {
return a.age < b.age;
}
int main() {
std::vector<Person> people = {
{1, "홍길동", 20},
{2, "백두산", 25},
{3, "임꺽정", 30},
{4, "한라산", 28}
};
std::cout << "정렬되지 않은 사람들:\n";
for (const auto& person : people) {
std::cout << person.id << ": " << person.name << ", " << person.age << '\n';
}
std::sort(people.begin(), people.end(), compare);
std::cout << "나이별로 정렬된 사람들:\n";
for (const auto& person : people) {
std::cout << person.id << ": " << person.name << ", " << person.age << '\n';
}
return 0;
}
코드 실행 결과
이 코드를 실행하면 다음과 같은 결과를 얻습니다.
정렬되지 않은 사람들:
1: 홍길동, 20
2: 백두산, 25
3: 임꺽정, 30
4: 한라산, 28
나이별로 정렬된 사람들:
1: 홍길동, 20
2: 백두산, 25
4: 한라산, 28
3: 임꺽정, 30
위 결과에서 보듯이, 우리는 개체를 나이를 기준으로 성공적으로 정렬하였습니다.
구조체 정렬
이번 글에서는 Go를 사용하여 구조체를 정렬하는 방법에 대해 알아보겠습니다. 여기에서는 사람을 나타내는 구조체를 예제로 사용하고, 이들을 나이를 기준으로 정렬하겠습니다.
코드 예제
sort_structs.go
파일을 생성하고 아래 코드를 작성합니다.
package main
import (
"fmt"
"sort"
)
type Person struct {
id int
name string
age int
}
type ByAge []Person
func (a ByAge) Len() int { return len(a) }
func (a ByAge) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
func (a ByAge) Less(i, j int) bool { return a[i].age < a[j].age }
func main() {
people := []Person{
{1, "홍길동", 20},
{2, "백두산", 25},
{3, "임꺽정", 30},
{4, "한라산", 28},
}
fmt.Println("정렬되지 않은 사람들:")
for _, person := range people {
fmt.Printf("%d: %s, %d\n", person.id, person.name, person.age)
}
sort.Sort(ByAge(people))
fmt.Println("나이별로 정렬된 사람들:")
for _, person := range people {
fmt.Printf("%d: %s, %d\n", person.id, person.name, person.age)
}
}
코드 실행 결과
이 코드를 실행하면 다음과 같은 결과를 얻습니다.
정렬되지 않은 사람들:
1: 홍길동, 20
2: 백두산, 25
3: 임꺽정, 30
4: 한라산, 28
나이별로 정렬된 사람들:
1: 홍길동, 20
2: 백두산, 25
4: 한라산, 28
3: 임꺽정, 30
위 결과에서 보듯이, 우리는 구조체를 나이를 기준으로 성공적으로 정렬하였습니다.
구조체 정렬
이번 글에서는 Rust를 사용하여 구조체를 정렬하는 방법에 대해 알아보겠습니다. 여기에서는 사람을 나타내는 구조체를 예제로 사용하고, 이들을 나이를 기준으로 정렬하겠습니다.
코드 예제
sort_structs.rs
파일을 생성하고 아래 코드를 작성합니다.
use std::cmp::Ordering;
use std::fmt;
struct Person {
id: i32,
name: String,
age: i32,
}
impl fmt::Display for Person {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}: {}, {}", self.id, self.name, self.age)
}
}
impl Ord for Person {
fn cmp(&self, other: &Self) -> Ordering {
self.age.cmp(&other.age)
}
}
impl PartialOrd for Person {
fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
Some(self.cmp(other))
}
}
impl Eq for Person {}
impl PartialEq for Person {
fn eq(&self, other: &Self) -> bool {
self.age == other.age
}
}
fn main() {
let mut people = vec![
Person { id: 1, name: "홍길동".to_string(), age: 20 },
Person { id: 2, name: "백두산".to_string(), age: 25 },
Person { id: 3, name: "임꺽정".to_string(), age: 30 },
Person { id: 4, name: "한라산".to_string(), age: 28 },
];
println!("정렬되지 않은 사람들:");
for person in &people {
println!("{}", person);
}
people.sort();
println!("나이별로 정렬된 사람들:");
for person in &people {
println!("{}", person);
}
}
코드 실행 결과
이 코드를 실행하면 다음과 같은 결과를 얻습니다.
정렬되지 않은 사람들:
1: 홍길동, 20
2: 백두산, 25
3: 임꺽정, 30
4: 한라산, 28
나이별로 정렬된 사람들:
1: 홍길동, 20
2: 백두산, 25
4: 한라산, 28
3: 임꺽정, 30
위 결과에서 보듯이, 우리는 구조체를 나이를 기준으로 성공적으로 정렬하였습니다.
구조체 정렬
이번 글에서는 TypeScript를 사용하여 구조체를 정렬하는 방법에 대해 알아보겠습니다. 여기에서는 사람을 나타내는 인터페이스를 예제로 사용하고, 이들을 나이를 기준으로 정렬하겠습니다.
코드 예제
sort_structs.ts
파일을 생성하고 아래 코드를 작성합니다.
interface Person {
id: number;
name: string;
age: number;
}
const people: Person[] = [
{ id: 1, name: "홍길동", age: 20 },
{ id: 2, name: "백두산", age: 25 },
{ id: 3, name: "임꺽정", age: 30 },
{ id: 4, name: "한라산", age: 28 },
];
console.log("정렬되지 않은 사람들:");
people.forEach((person: Person) => console.log(`${person.id}: ${person.name}, ${person.age}`));
people.sort((a: Person, b: Person) => a.age - b.age);
console.log("나이별로 정렬된 사람들:");
people.forEach((person: Person) => console.log(`${person.id}: ${person.name}, ${person.age}`));
코드 실행 결과
이 코드를 실행하면 다음과 같은 결과를 얻습니다.
정렬되지 않은 사람들:
1: 홍길동, 20
2: 백두산, 25
3: 임꺽정, 30
4: 한라산, 28
나이별로 정렬된 사람들:
1: 홍길동, 20
2: 백두산, 25
4: 한라산, 28
3: 임꺽정, 30
위 결과에서 보듯이, 우리는 인터페이스를 나이를 기준으로 성공적으로 정렬하였습니다.
구조체 정렬
이번 글에서는 Kotlin을 사용하여 구조체를 정렬하는 방법에 대해 알아보겠습니다. 여기에서는 사람을 나타내는 클래스를 예제로 사용하고, 이들을 나이를 기준으로 정렬하겠습니다.
코드 예제
SortStructs.kt
파일을 생성하고 아래 코드를 작성합니다.
data class Person(val id: Int, val name: String, val age: Int)
fun main() {
val people = arrayOf(
Person(1, "홍길동", 20),
Person(2, "백두산", 25),
Person(3, "임꺽정", 30),
Person(4, "한라산", 28)
)
println("정렬되지 않은 사람들:")
people.forEach { println("${it.id}: ${it.name}, ${it.age}") }
val sortedPeople = people.sortedBy { it.age }
println("나이별로 정렬된 사람들:")
sortedPeople.forEach { println("${it.id}: ${it.name}, ${it.age}") }
}
코드 실행 결과
이 코드를 실행하면 다음과 같은 결과를 얻습니다.
정렬되지 않은 사람들:
1: 홍길동, 20
2: 백두산, 25
3: 임꺽정, 30
4: 한라산, 28
나이별로 정렬된 사람들:
1: 홍길동, 20
2: 백두산, 25
4: 한라산, 28
3: 임꺽정, 30
위 결과에서 보듯이, 우리는 클래스를 나이를 기준으로 성공적으로 정렬하였습니다.