private void fDataIn() { Label[] lb = new Label[] { a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15 }; // lb라는 라벨 배열을 만들어서 숫자를 나타내게 하는 라벨의 정보들을 넣는다 Random random = new Random(); // 랜덤을 이용해서 난수를 생성한다. int winning_number = random.Next(0, 151); // 0부터 150까지의 숫자들 중에서 랜덤으로 숫자를 winning_number에 넣는다. if (MaxHeap.node.Count == 0) // 만약 노드의 count가 0이면 key값은 0으로 넘겨주고 , true를 넘겨준다. 그리고 난뒤 return; { MaxHeap.insert(0, true); return; } // 노드의 카운트가 0이 아닐경우 else { removenumTxt1.Text = ""; removenumTxt2.Text = ""; addnumTxt.Text = "추가된 노드의 값 : "; // 추가된 노드의 값을 알려주는 안내문1 addnumTxt2.Text = winning_number.ToString(); // 추가된 노드의 값을 알려주는 안내문2 if (MaxHeap.node.Count < 16) // 만약 노드의 카운트가 15개이하일 경우에만 실행된다. { MaxHeap.insert(winning_number, false); //Maxheap insert 메소드 실행, 매개변수에는 난수를 넣어준다. for (int i = 0; i < MaxHeap.node.Count - 1; i++) { // for문을 이용해서 노드의 개수에 맞춰서 노드의 개수를 알려주는 라벨과 테이블패널의 visible을 true로 바꿔서 // 폼에 나타나도록 한다. label_list[i].Visible = true; table_list[i].Visible = true; } int num = MaxHeap.node.Count; // num에는 현재 노드의 count를 대입 lb[0].Text = ""; // lb[0]에는 쓰레기값 0을 넣었으므로 표시가 되기때문에 ""를 통해 폼화면에는 아무것도 나타나지 않도록 함. for (int i = 1; i < num; i++) { lb[i].Text = MaxHeap.node[i].ToString(); //노드 숫자의 값들을 입력해준다. } } else { //노드의 카운트가 16을 넘어갈 경우에는 더이상 추가 할 수 없다는 안내문을 출력해준다. MessageBox.Show("더이상 추가할 수 없습니다."); addnumTxt.Text = "더이상 추가 할 수 없습니다. "; addnumTxt2.Text = ""; } } }