C++감시 초소 가 있 는 순서 찾기 알고리즘 구현

감시 초 소 는 프로그램 에 있 는 변수 입 니 다.숫자 를 정렬 하면 이 변 수 는 보통 수치 형 변수 입 니 다.변수의 할당 은 보초병 에 해당 합 니 다.정렬 수열 에 보초병 과 같은 값 이 나타 나 거나 특정한 관계 가 나타 날 때 일종 의 조작 을 합 니 다.예 를 들 어 정렬 을 중단 하거나 다음 순 서 를 진행 합 니 다.
예:
순서 검색 알고리즘 설명 은 다음 과 같 습 니 다.

int Search_Sequen(SSTable ST,KeyType key){
//    ST           Key     ,
//   ,             ,   -1.
ST.element[ST.length].key=key; //     
i=0;
while(ST.element[i].key!=key) i++;
if(i<ST.length)
return i;
else
return -1;
}
본문
앞서 우 객 인터넷 에서 연습 문 제 를 풀 어 보 니 이 독특한 순서 조회 가'감시초 소'라 는 말 을 처음 듣 고 찾 아 봤 다.
구체 적 인 실현 은 배열 의 0 번 째 위 치 를 비 워 두 고 찾 을 때 찾 을 key 를 감시초 로 삽입 하 는 것 이다.
이러한 장점 은 매번 순환 할 때마다 검색 이 끝 났 는 지 확인 하지 않 고 요소 비교 횟수 를 줄 이 는 것 이다.
마지막 반환 값 은 원소 가 표시 되 거나 수조 0 위(이 경우 감시초 소 에 도착)
다음은 제 코드 입 니 다.

#include <iostream> 
using namespace std;

template<class T>
int linear_search(T& arr,int key)
{
 int length = sizeof(arr) / sizeof(arr[0]);
 int i = length;
 arr[0] = key;
 while (arr[i] != key)
 {
 i--;
 }
 return i;
}

int main()
{
 int array[] = { 0, 7,9,10,11,15 };
 int len = sizeof(array) / sizeof(array[0]);
 cout << linear_search(array, 10);
 return 0;
}
여기 서 말씀 드 리 는 김 에 vs 2019 에 하나 가 나 올 겁 니 다.
error C2760:문법 오류:예상 치 못 한 영패"식별 자",예상 되 는 영패";"
의 잘못,구체 적 인 원 리 는 잘 모 르 겠 습 니 다.해결 방법 만 제시 하 겠 습 니 다.
항목->속성->C/C++->언어->일치 모드->여부
마지막 으로 자신 에 게 깨 우 쳐 주 십시오.배열 은 함수 매개 변수 로 배열 에 들 어 가 는 첫 번 째 지침 입 니 다.지침 은 배열 의 다른 속성 을 가지 지 않 습 니 다.
따라서 함수 에서 배열 의 길 이 를 얻 으 려 면 참조 와 템 플 릿 형식 으로 배열 자체 에 들 어 갈 수 밖 에 없습니다.그러면 size of()로 배열 의 길 이 를 얻 을 수 있 습 니 다.
총결산
C++감시초 소 가 있 는 순서대로 찾 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 c+감시초 소 순서 로 내용 을 찾 으 려 면 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기