63 lines
1.7 KiB
Kotlin
63 lines
1.7 KiB
Kotlin
package com.example.sorting
|
|
|
|
import android.os.Bundle
|
|
import androidx.activity.ComponentActivity
|
|
import androidx.activity.compose.setContent
|
|
import androidx.activity.enableEdgeToEdge
|
|
import androidx.compose.foundation.layout.Column
|
|
import androidx.compose.foundation.layout.fillMaxSize
|
|
import androidx.compose.material3.MaterialTheme
|
|
import androidx.compose.material3.Surface
|
|
import androidx.compose.material3.Text
|
|
import androidx.compose.runtime.*
|
|
import androidx.compose.ui.Modifier
|
|
import androidx.compose.ui.tooling.preview.Preview
|
|
import com.example.sorting.ui.theme.SortingTheme
|
|
|
|
class MainActivity : ComponentActivity() {
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
super.onCreate(savedInstanceState)
|
|
enableEdgeToEdge()
|
|
setContent {
|
|
SortingTheme {
|
|
Surface(
|
|
modifier = Modifier.fillMaxSize(),
|
|
color = MaterialTheme.colorScheme.background
|
|
) {
|
|
SortIntarray()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@Composable
|
|
fun SortIntarray() {
|
|
// Angka yang mau diurutkan
|
|
val numbers = listOf(1, 7, 99, 46, 90, 600, 98, 76, 52)
|
|
|
|
// State sebelum dan sesudah
|
|
var before by remember { mutableStateOf("") }
|
|
var after by remember { mutableStateOf("") }
|
|
|
|
// Proses sortir
|
|
LaunchedEffect(Unit) {
|
|
before = numbers.joinToString(", ")
|
|
val sorted = numbers.sorted()
|
|
after = sorted.joinToString(", ")
|
|
}
|
|
|
|
Column {
|
|
Text(text = "Sebelum diurutkan: $before")
|
|
Text(text = "Sesudah diurutkan: $after")
|
|
}
|
|
}
|
|
|
|
@Preview(showBackground = true)
|
|
@Composable
|
|
fun PreviewSortIntarray() {
|
|
SortingTheme {
|
|
SortIntarray()
|
|
}
|
|
}
|