제8 장-배열 학습 총화

2821 단어 학습 총화
                        

1.중요 한 지식 점 은 1 차원 배열 과 2 차원 배열 의 정의,초기 화 와 사용 을 모인다.세 가지 정렬 방식 과 두 가지 검색 방식;전달 배열.2.중요 한 지식 점 의 활용 1.배열 의 하 표 는 모두 0 부터 계산 하 는 것 이 므 로 습관 에 따라 1 부터 계산 할 수 없다.2.배열 요소 의 개 수 는 상수 이 고 전체 상수 로 배열 의 크기 를 정의 할 수 있 으 며 변 수 를 사용 하여 배열 의 크기 를 정의 할 수 없습니다.3.배열 을 초기 화 할 때 초기 화 목록 에서 제공 하 는 초기 값 개 수 는 배열 요소 의 개수 보다 많 을 수 없습니다.배열 에서 정의 되 지만 초기 화 되 지 않 은 배열 요소 의 값 은 무 작위 입 니 다.또한 배열 길이 에 대한 성명 을 생략 하면 시스템 은 초기 화 목록 에서 제공 하 는 초기 값 개수 에 따라 배열 을 초기 화하 고 배열 의 크기 를 확인 합 니 다.따라서 일부 배열 요소 에 만 값 을 부여 할 때 배열 의 길이 성명 을 생략 할 수 없습니다.4.특정한 프로그램 이 데 이 터 를 수정 해 야 할 때의 어려움 을 줄 이기 위해 우 리 는 주 함수 전에 환수(프로그램 에서 직접 사용 하 는 상수)를 매크로 상수 나 const 상수 로 정의 할 수 있다.이것 은 데 이 터 를 수정 하 는 복잡성 을 크게 감소 시 켰 다.5.배열 이 메모리 에서 차지 하 는 바이트 수의 판단:1 차원:배열 길이 sizeof(기본 형식)2 차원:1 차원 길이 2 차원 길이*sizeof(기본 형식)는 일반적으로 하나의 유형 이나 변수 가 메모리 에서 차지 하 는 바이트 수 를 계산 하 는 가장 정확 하고 신뢰 할 수 있 는 방법 은 sizeof 연산 자 를 사용 하 는 것 이다.6.배열 의 1 차원 길이 성명 은 생략 할 수 있 지만 2 차원 길이 성명 은 생략 할 수 없습니다!7.세 가지 정렬 방법 은 주로 거품 정렬,정렬 선택,정렬 삽입 이다.두 가지 검색 방법 은 선형 검색(순서 검색)과 반절 검색(2 분 검색)이다.반절 검색 의 효율 은 선형 검색 보다 높 지만 그 가 사용 하 는 전 제 는 찾 은 데이터 집합 이 이미 순 서 를 배열 한 것 이다.8.거품 정렬 의 위조 코드 는 다음 과 같다.
 for(i=0;i<=n-1;i++)
{
    for(j=i+1;jscore[i])
        {
             temp=score[j];
             score[j]=score[i];
            score[i]=temp;
        }
    }
}

또는 하나의 함수 sort()로 정렬 할 수 있 습 니 다.좋 은 점 은 연산 속도 가 빠 르 고 시간 초 과 를 피 할 수 있 습 니 다.기본 적 인 사용 방법 은 sort(a,a+n)로 정렬 된 배열 은 a0 에서 an-1 이 며,사용 하 는 헤더 파일 은 algorithm 입 니 다.9.정렬 된 위조 코드 를 선택 하면:
int i,j,k,temp;
for(i=0;i<=n-1;i++)
{
    k=i;
    for(j=i+1;jscore[k])
        {
            k=j;
        }
    }
    if(k!=i)
    {
    temp=score[k];
    score[k]=score[i];
    score[i]=temp;
    }
}

10.정렬 된 위조 코드 삽입:
for(i=1;i=0&&a[l]>temp)
    {
        a[l+1]=a[l];
        l--;
    }
    a[l+1]=temp;
}

11.배열 이 함수 매개 변 수 를 함수 에 전달 하 는 것 은 배열 의 첫 번 째 주소 이기 때문에 주소 호출 에 속 합 니 다.12.작은 지식 에 대한 이해 와 활용:a[+]=x;a[n]=x 에 해당 합 니 다.n++; for(int i=0;i 13.배열 a 에서 k 개 요 소 를 배열 b:memcpy(b,a,sizeof(int)*k 로 복사 하려 면 모두 배열 b 로 복사 하려 면 memcpy(b,a,sizeof(a)배열 a 와 배열 b 가 부동 소수점 형 이 라면 memcpy(b,a,sizeof(double)*k)(memcpy 를 사용 하려 면 cstring 에서 정의)3.수확 과 깨 달 음 이 배열 에 대한 학습,우리 가 잘 파악 하고 배열 을 잘 활용 하 는 동시에 우리 에 게 더욱 높 은 요 구 를 가 져 야 한다.바로 앞의 몇 장 에서 배 운 지식 점 을 이 장 에서 유연 하 게 응용 할 수 있다 는 것 이다.이것 은 우리 의 개인 능력 을 더욱 시험 하고 자신 이 어떤 부분 에서 부족 한 지 잘 나타 내 며 코드 를 작성 하 는 것 이다.코드 를 수정 하여 지식 점 에 대한 이해 와 사용 을 더욱 보완 하고 공 고 히 하 다.개인 적 으로 이것 은 우리 가 더욱 강 한 논리 적 사고력 을 가 져 야 한다 고 생각한다.코드 에 대해 생각 이 있 는 전제 에서 코드 를 더욱 완벽 하 게 쓰 고 그 를 성공 적 으로 컴 파일 하도록 해 야 한다.이 장 에서 언급 한 정렬 과 찾 는 방법 은 우리 가 그 에 대해 충분 한 이해 와 체험 을 가지 고 자신의 이해 로 내부 화 시 켜 다음 코드 에서 그것 을 충분히 능숙 하 게 활용 할 수 있 도록 해 야 한다.

좋은 웹페이지 즐겨찾기