기사 디렉토리
1. 버블 정렬
주로 교환 위치, 제 1 비교기에서 배열 시작한 횟수는 최대 수를 결정하고, 마지막 배열 개수의 결정에 두 번째로 큰으로 등 뒤쪽 행으로부터 전방이다. 이전 기사 코드 예제를
정렬 선택합니다
열거 나머지 상기 제 1 스위칭 소자와 상기 n-1 개의 주문 나머지 시퀀스는 최소를 찾기 위해, N-1에서 계속 될 시퀀스에서 가장 작은 번호를 확인하고, 상기 제 2 스위칭 소자 N-2 번째 시퀀스 등으로 정렬 될 것이다.
#include<cstdio>
#include<cstring>
void selectSort(int A[],int n){
for(int i = 0;i<n;i++){
int k = i;
for(int j = i;j<n;j++){
if(A[j] < A[k])
k = j;
}
int temp = A[i];
A[i] = A[k];
A[k] = temp;
}
}
int main(){
int a[] = {1,5,4,8,9,3,2,10,7,6};
int len = sizeof(a)/sizeof(int);
selectSort(a,len);
for(int i = 0;i<len;i++)
printf("%d ",a[i]);
return 0;
}
3. 삽입 정렬
#include<cstdio>
#include<cstring>
void selectSort(int A[],int n){
for(int i = 1;i<n;i++){
int temp = A[i],j = i;
while(j>1 && temp<A[j-1]){
A[j] = A[j-1];
j--;
}
A[j] = temp;
}
}
int main(){
int a[] = {1,5,4,8,9,3,2,10,7,6};
int len = sizeof(a)/sizeof(int);
selectSort(a,len);
for(int i = 0;i<len;i++)
printf("%d ",a[i]);
return 0;
}
4. 정렬 응용 프로그램 기능
정렬 기능의 C 언어 나 C ++에서 (15.3 권장)
1.sort 기능
당신은 헤더 파일에 추가해야합니다 및 네임 스페이스를 사용하여 표준 #INCLUDE;
정렬 (제 주소 요소의 최종 어드레스의 다음 요소의 어드레스 비교 기능 (옵션));
간단한 예
#include<cstdio>
#include<algorithm>
using namespace std;
int main(){
int a[6] = {9,4,2,5,6,-1};
sort(a,a+4); //a[0]到a[3]从小到大排序
for(int i = 0;i<6;i++)
printf("%d ",a[i]);
printf("\n");
sort(a,a+6); //a[0]到a[5]从小到大排序
for(int i = 0;i<6;i++)
printf("%d ",a[i]);
return 0;
}
이중 문자 배열과 배열 사용의 동일한 유형
5 단계 공통 테마 분류
이러한 학생 구조로서 정보의 각 복수의 제시 1. 데이터
먼저, 실현의 CMP 함수는 행 크기의 동일한 부분을 누르면, 눌러 작은 사전적인 이름 로우의 점수
//对于结构体的比较
bool cmp(Student a,Student b){
if(a.score != b.score) return a.score > b.score;
else return strcmp(a.name,b.name) < 0;
}
순위 달성 동일한 점수는 동일한 랭크를 차지한다 (시퀀스 내림차순 별하여 늘어서있다), R 속성은 순위를 나타내고
stu[0].r = 1;
for(int i = 0;i<n;i++){
if(stu[i].score == stu[i-1].score){
stu[i].r = stu[i-1].r;
}else{
stu[i].r = i + 1;
}
}