반응형

분류 전체보기 157

[C] 삽입 정렬

출처 - C로 배우는 알고리즘 (이재규 지음)#include #include #include void insert_sort(char a[], int n);int main(int argc, char *argv[], char **env){ char word[] = "TOLEARNSORTALGORITHM"; printf("정렬 전[%s]\n", word); insert_sort(word, (sizeof(word) - 1) / sizeof(char)); printf("정렬 후[%s]\n", word); return 0;}void insert_sort(char a[], int n){ int i = 0, j = 0; char t = 0; for(i = 1; i t && j > 0) // 굳이 t를 선언하지 않고 ..

C/Reference 2024.12.18

[C] 최대 공약수 구하는 함수 (유클리드 알고리즘)

int get_gcd(int u, int v){ int temp = 0; while(u) { if(u  유클리드 알고리즘 GCD(280, 30) = GCD(250, 30)                        = GCD(220, 30)                          = GCD(190, 30) ... 이런 식으로 큰 수에서 작은수를 계속해서 빼 나간다.                          = GCD(40, 30)                          = GCD(10, 30)      // 이렇게 앞의 수가 뒤의 수보다 작아지면 두 수를 교환                          = GCD(30, 10) ... 다시 반복해서 빼 나간다.                ..

C/Study 2024.12.18

[Java] 문자열로 된 수식 계산하기

원문 출처 - http://unikys.tistory.com/226​자바 1.6 이상에서는 Javascript 엔진을 이용하여 문자열로 된 수식 계산이 가능하다고 한다.(자바스크립트의 eval 함수와 같은 기능의 함수가 있다.)import javax.scrit.ScriptEngineManager;import javax.script.ScriptEngine;public class Test{ public static void main(String[] args) throws Exception { ScriptEngineManager mgr = new ScriptEngineManager(); ScriptEngine engine = mgr.getEngineByName("JavaScript"); String fo..

JAVA/Study 2024.12.18

[Java] JVM의 피연산자 스택의 피연산자 저장 단위

출처 - 자바의 정성 (남궁 성 지음)​JVM의 피연산자 스택(operand stack)이 피연산자를 4 byte 단위로 저장하기 때문에​크기가 4 byte보다 작은 자료형(byte, short)의 값을 계산할 때는 4 byte로 변환하여 연산이 수행된다.​그래서 오히려 int를 사용하는 것이 더 효율적이다.​​​이 말인즉슨 short를 사용하여 2 byte 짜리 변수를 선언한다 하더라도 이 변수가 계산에 씌이는 피연산자가 될 경우​JVM은 short변수를 피연산자 스택에 저장하면서 4 byte 로 저장하기 때문에 메모리 절약을 위해서 short 변수를 선언한거라면 메모리 절약에 전혀 도움이 되지 않는다.​게다가 형변환까지 해야 되므로 오히려 손해이다.​C언어도 이렇게 된다고... 어디서 본 것 같은데...

JAVA/Study 2024.12.16
반응형