03. 검색
연습문제 Q1
static int seqSearch(int[] a, int n, int key) {
a[n] = key;
for(int i=0; i<a.length; i++) {
if(a[i] == key) {
return i;
}
}
return -1;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("배열 크기 ::: ");
int num = sc.nextInt();
int[] x = new int[num+1];
for(int i=0; i<num; i++) {
System.out.print("x["+i+"]" ::: ");
x[i] = sc.nextInt();
}
System.out.print("검색할 값 ::: ");
int key = sc.nextInt();
int idx = seqSearch(x, num, key);
if(idx == -1) {
System.out.println("그 값의 요소가 없습니다.");
}else{
System.out.println(key+"은(는) x["+idx+"]에 있습니다.");
}
}
연습문제 Q2
static int seqSearch(int[] a, int n, int key) {
System.out.print(" | ");
for(int i=0; i<a.length; i++) {
System.out.printf("%4d", i);
}
System.out.print("\n--+");
for(int i=0; i<a.length; i++) {
if(i == a.length-1) {
System.out.print("----\n");
}else{
System.out.print("----");
}
for(int i=0; i<a.length; i++) {
System.out.printf(" | %"+(i+1)*4+"s", "*\n");
System.out.print(i+" |");
for(int j=0; j<a.length; j++) {
if(j == (a.length-1)) {
System.out.printf("%4d \n", a[j]);
}else{
System.out.printf("%4d", a[j]);
}
}
if(a[i] == key) {
return i;
}else{
System.out.println(" |");
}
}
return -1;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("배열 크기 ::: ");
int num = sc.nextInt();
int[] x = new int[num+1];
for(int i=0; i<num; i++) {
System.out.print("x["+i+"]" ::: ");
x[i] = sc.nextInt();
}
System.out.print("검색할 값 ::: ");
int key = sc.nextInt();
int idx = seqSearch(x, num, key);
if(idx == -1) {
System.out.println("그 값의 요소가 없습니다.");
}else{
System.out.println(key+"은(는) x["+idx+"]에 있습니다.");
}
}
'알고리즘' 카테고리의 다른 글
자료구조와 함께 배우는 알고리즘 입문[자바] - 6일차 (0) | 2022.12.08 |
---|---|
자료구조와 함께 배우는 알고리즘 입문[자바] - 5일차 (0) | 2022.11.21 |
자료구조와 함께 배우는 알고리즘 입문[자바] - 3일차 (1) | 2022.11.15 |
자료구조와 함께 배우는 알고리즘 입문[자바] - 2일차 (0) | 2022.11.10 |
자료구조와 함께 배우는 알고리즘 입문[자바] - 1일차 (0) | 2022.11.09 |