구조체 정렬
이번 글에서는 C# 언어를 사용하여 구조체를 정렬하는 방법에 대해 알아보겠습니다. 여기에서는 사람을 나타내는 클래스를 예제로 사용하고, 이들을 나이를 기준으로 정렬하겠습니다.
코드 예제
StructSort.cs
파일을 생성하고 아래 코드를 작성합니다.
using System;
using System.Linq;
namespace StructSort
{
//사람을 나타내는 클래스
public class Person
{
public int Id { get; set; } //사람의 id
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; //사람의 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; //사람의 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 # 사람의 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
위 결과에서 보듯이, 우리는 클래스를 나이를 기준으로 성공적으로 정렬하였습니다.