일 4_3 초기 알고리즘 - 종류 (간단한 응용 프로그램)

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;
		}
	}
게시 26 개 원래 기사 · 원의 찬양 3 · 조회수 212

추천

출처blog.csdn.net/qq_41898248/article/details/103758526