public class SentinelMethod {
int seqSearch(int[]a, int a, int key){
int i = 0 ;
while(true){
a[n] = key; // 배열 a 끝(a[n])에 보초값(key, 검색값)을 추가함
if(a[i]==key){ // 배열 a에서 검색값을 찾은 경우 반복문 종료
break;
}
i++
}
// 삼항연산자 (조건식) ? true 일 때 : false 일 때
return i==n ? -1 : i ;
}
public void run(){
// Scanner 객체
// System.in : 입력되는 키를 바이트로 리턴하는 저수준 스트림
// int를 입력받을 때는 netxInt()를 이용함
Scanner scan = new Scanner(System.in);
// num: 요솟수 (배열 값의 갯수)
System.out.println("요솟수:");
int num = scan.nextInt();
// 배열 x
// 보초값이 들어갈 빈 공간이 필요하므로 인덱스 값은 [num+1]
int[] x = new int[num+1];
// 보초값을 제외한, 배열값 입력
for(int i=0;i<num;i++){
System.out.println("x["+i+"]:");
x[i] = scan.nextInt();
}
// keyVal: 검색할 값
int keyVal = scan.nextInt();
// int seqSearch(int[]a, int a, int key)
// 요솟수가 num인 배열 x에서 keyVal 값을 찾은 후 index 값을 반환함
// 반환된 index 값이 -1인 경우 검색 실패를 의미함
int index = seqSearch(x, num, keyVal);
}
public static void main(String[] args){
SentinelMethod sm = new SentinelMethod();
sm.run();
}
}
*참고 자료
[자료구조] 선형 검색 (Linear Search)에 대해 알아보자 (순차검색, 보초법 등)
<button onclick="test_param()">test param btn</button>
<script type="text/javascript" >
// var : 중복 선언 가능, 재할당 가능, 함수 내부에 선언된 변수만 지역변수로 한정하며 나머지는 모두 전역변수로 간주 (함수 레벨 스코프)
// let : 중복 선언 불가능, 재할당 가능, 함수 내부와 코드 블럭({})에서 선언된 변수도 지역변수로 간주함 (블록 레벨 스코프)
// const : 중복 선언 불가능, 재할당 불가능, 상수를 선언하는 키워드, 처음 선언할 때 반드시 초기화(값 할당)을 해주어야 함, 블록 레벨 스코프
let param = {};
param.name = 'haeniYu'
paraim.id = 'haeni311'
$.ajax({
type: 'POST'
,url: '/test/param'
,data: param
// beforeSend
// jqXHR(jQuery 1.4.x에서는 XMLHTTPRequest) 객체가 전송되기 전에 수정하는 데 사용할 수 있는 사전 요청 콜백 함수
// 사용자 정의 헤더 등을 설정
,beforeSend: function(xhr) {
xhr.setRequestHeader(header, token);
}
,success: function (data) {
console.log(data)
}
,error : function(jqXHR, textStatus, errorThrown){
console.log('err \n'+jqXHR+"\n"+textStatus+"\n"+errorThrown)
console.log(textStatus)
}
// complete
// 요청이 완료되면 호출될 함수 ( success및 error콜백이 실행된 후 )
,complete : function(){
}
});
</script>
자바스크립트- 변수 선언 방식 차이 (var, let, const)
// 예:
// document의 모든 div를 선택하고 dom 요소를 배열로 변환 후,
// reverse() 메서드를 사용하여 해당 배열을 뒤집는다
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
<style>
span {
color: red;
}
</style>
<script src="https://code.jquery.com/jquery-3.5.0.js"></script>
</head>
<body>
Reversed - <span></span>
<div>One</div>
<div>Two</div>
<div>Three</div>
<script type="text/javascript">
function disp(divs){
var a = [];
for(var i=0;i<divs.length;i++){
a.push(divs[i].innerHTML);
}
$("span").text(a.join(""));
}
disp($("div").toArray().reverse());
</script>
</body>
</html>
<script>
const arr1 = [2,1,3];
const arr2 = ['banana', 'apple', 'orange']
arr1.sort();
document.writeln(arr1+'<br>'); // [1,2,3]
arr2.sort();
document.writeln(arr2+<br>'); // ['apple','banana','orange']
</script>
public static void func() {
synchronized( this.class ) {
// [code]
}
}
출처: https://jamssoft.tistory.com/199 [What should I do?]