자바프로그램인데요~쉽게설명좀 해주세요ㅜㅜ 어려워요 이걸 C로 바꿀수있나요?
말글
질문 제목 : 자바 코드인데요 c로바꿀수있나요?? 코드 이해하기가 어려워요 어떻게 돌아가고 출력되는지 쉽게 설명좀 해주세요질문 내용 :
import java.io.bufferedreader;
import java.io.ioexception;
import java.io.inputstreamreader;
import java.util.arrays;
import java.util.vector;
class node {//노드 클래스 선언
string word_data = null; //데이터 저장
node next = null;//노드의 오른쪽을 저장
node prev = null;//왼쪽
}
public class tree {
string word[]; // 값을 저장할수 있는 전체배열
string in_word[];// 값이 저장된것만 있는 배열, 벡터로 부터 넘겨받은 데이터
vectorstring v_word; // sort를 위해 벡터를 한번 거치기 위해서
tree(int numword) {
word = new string[numword];
v_word = new vectorstring();
}
// node temp[];// 트리를 구성하기위한 노드클래스의 객체 선언
node make(int left, int right) {
node t = null;
if (left = right) {
t = new node();
int middle = (left + right) / 2;
t.word_data = in_word[middle];
t.prev = make(left, middle - 1);
// system.out.println(prev : + p.prev.word_data);
t.next = make(middle + 1, right);
// system.out.println(next : + p.next.word_data);
}
/**/
return t;
}
public static void main(string[] args) throws ioexception {
/*
*
* int j = 0;// 값을쓴 여부에 상관없이 배열 전체의 수를 나타낸다 int k = 0;// 값을 가진 배열의 수만
* 나타낸다
*
* string word[] = new string[20]; // 값을 저장할수 있는 전체배열 string
* in_word[];// 값이 저장된것만 있는 배열, 벡터로 부터 넘겨받은 데이터 vectorstring v_word =
* new vectorstring();// sort를 위해 벡터를 한번 거치기 위해서 //node temp[];// 트리를
* 구성하기위한 노드클래스의 객체 선언
*/
int j = 0;// 값을쓴 여부에 상관없이 배열 전체의 수를 나타낸다
int k = 0;// 값을 가진 배열의 수만 나타낸다
tree tree = new tree(20);
for (j = 0; j tree.word.length; j++) {
bufferedreader in = new bufferedreader(new inputstreamreader(
system.in));
tree.word[j] = in.readline();
if (tree.word[j].equals(0)) {
for (k = 0; k j; k++) {
tree.v_word.add(tree.word[k]);// 미리 생성해둔 배열의 전체에서 값을쓴 부분만
// 뽑아낸다
}
k = k - 1; // for문에서 k++에 의해 증가한 k값을 다시 뺴준다.
break;
}
system.out.println(tree.word[j]);
}
tree.in_word = new string[tree.v_word.size()];
tree.in_word = (string[]) tree.v_word.toarray(tree.in_word);
arrays.sort(tree.in_word);
system.out.println(인덱스 k값 + k); // k값 저장 확인 위한 출력
// temp = new node[k + 1];// 생성은 인덱스 값보다 +1더 해야 한다.
for (int i = 0; i tree.in_word.length; i++) {
// temp[i] = new node();// 객체 초기화
// temp[i].word_data = in_word[i]; //노드에 데이터를 넣는 부분
system.out.println(배열값: + tree.in_word[i]);
}
node root = tree.make(0, k);
/*system.out.println(data1 : + root.word_data);
system.out.println(data2 : + root.prev.word_data);
system.out.println(data3 : + root.next.word_data);
system.out.println(data4 : + root.prev.prev.word_data);
system.out.println(data5 : + root.prev.next.word_data);
system.out.println(data6 : + root.next.prev.word_data);
system.out.println(data7 : + root.next.next.word_data);
system.out.println(data8 : + root.prev.next.next.word_data);
system.out.println(data9 : + root.next.next.next.word_data);*/
}// 메인 함수 괄호
}// class tree 괄호
-
앤드류
트리구조같은데 찾아보시면 트리구조 소스 많으니까 그거 참고 하시면 될듯하구요.
솔직히 제 실력이 부족해서 그런지 무엇을 의도한 소스인지 모르겠네요.(돌려봐도 이해가 안가요.. ㅠㅠ)
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2698120 | -연산자 가 먼지 좀 알려주세요 (1) | 낮선검객 | 2025-06-14 |
2698091 | 길찾기문제 질문이요! | 노을빛 | 2025-06-13 |
2698060 | while 문에 대한 질문입니다. (9) | 물고기자리 | 2025-06-13 |
2698012 | 2~9가아닌수 | 아놀드 | 2025-06-13 |
2697980 | for에 gets함수를 넣으니까 왜 반복이 안되죠 ㅜ (2) | 펴라 | 2025-06-12 |
2697952 | 2차배열과 함수문의^^; | VanilLa | 2025-06-12 |
2697924 | 다차원 배열 질문있습니다 | 두동 | 2025-06-12 |
2697893 | 정올 :: 기초다지기 a9007 배열7 (문제가 이상함 -_-) | 흰두루 | 2025-06-12 |
2697862 | Unable......... 지정된 파일을 찾을 수 없습니다!! (1) | Creator | 2025-06-11 |
2697761 | 그러니까여제말은... (2) | 새론 | 2025-06-10 |
2697737 | 정올 문제좀 풀어보신분~ | 레오 | 2025-06-10 |
2697709 | rand함수 질문좀요! (6) | 가막새 | 2025-06-10 |
2697683 | C언어 변수뒤 표시가 이해안되는게 있습니다. | 소미 | 2025-06-10 |
2697660 | 껍데기딜 만들고 난후 어느핫키 누르면 코드검색이라도 뜨고 그다음 무반응 해결좀 (2) | 움찬 | 2025-06-09 |
2697634 | c언어로 감성사전 만들기! (1) | 도란도란 | 2025-06-09 |
2697605 | 이 함수좀... | agine | 2025-06-09 |
2697574 | 배열 기본적인질문 (3) | 민트향 | 2025-06-09 |
2697549 | 배열 초기화 (4) | 나리 | 2025-06-08 |
2697465 | 수다님...^^ (2) | 가론 | 2025-06-08 |
2697432 | 서버 만드는 함수에서 궁금한게있어요~ | 파랑 | 2025-06-07 |