데이터 구조 정렬 알고리즘 코드 (붙 여 넣 으 면 실행 가능)

3728 단어
#include
using namespace std;
#define N 100
int a[N];
void HeapAdjust(int k,int len);
void Print(int n)
{
	for(int i=1;i<=n;i++){
		printf("%d ",a[i]);
	}
	cout<>a[i];
	}
}
void BuildHeap(int n)
{
	
	for(int i=n/2;i>0;i--){
		HeapAdjust(i,n);
	}
}
void HeapAdjust(int k,int len)
{
	a[0] = a[k];
	for(int i=2*k;i<=len;i*=2){
		if(i= a[i]) break;
		else {
			a[k] = a[i];
			k = i;
		}
	}
	a[k] = a[0];
}
void HeapSort(int len)
{
	BuildHeap(len);
	cout<1;i--){
		int temp = a[i];
		a[i] = a[1];
		a[1] = temp;
		HeapAdjust(1,i-1);
	}
}
int main()
{
	int n;
	cin>>n;
	Init(n);
	Print(n);
	HeapSort(n);
	cout<

이상 은 쌓 기 정렬
삽입 정렬
#include
using namespace std;
#define N 100
int a[N];
void Init(int n)
{
	cout<>a[i];
	}
}
void Print(int n)
{
	for(int i=1;i<=n;i++){
		printf("%d ",a[i]);
	}
	cout<a[0]&&j>0;j--){
			a[j+1] = a[j];
		}
		a[j+1] = a[0];
	}
}
int main()
{
	int n;
	cin>>n;
	Init(n);
	Print(n);
	Insert_Sort(n);
	Print(n);
	return 0;
}

이상 은 삽입 정렬
다음은 2 분 삽입 정렬 입 니 다.
#include
using namespace std;
#define N 100
int a[N];
void Init(int n)
{
	cout<>a[i];
	}
}
void Print(int n)
{
	for(int i=1;i<=n;i++){
		printf("%d ",a[i]);
	}
	cout<= a[mid]){
				low = mid + 1;
			}else {
				high = mid - 1;
			}
		}
		for(int j=i-1;j>high;j--){
			a[j+1] = a[j];
		}
		a[high+1] = a[0];
	}
}
int main()
{
	int n;
	cin>>n;
	Init(n);
	Binary_Insert(n);
	Print(n);
	return 0;
}

이상 2 점 삽입 정렬
다음은 힐 정렬.
#include
using namespace std;
#define N 100
int a[N];
void Init(int n)
{
	cout<>a[i];
	}
}
void Print(int n)
{
	for(int i=1;i<=n;i++){
		printf("%d ",a[i]);
	}
	cout<=1;d/=2){
		for(int i=d+1;i<=n;i++){
			a[0] = a[i];
			int j;
			for(j=i-d;a[j]>a[0]&&j>0;j-=d){
				a[j+d] = a[j];
			}
			a[j+d] = a[0];
		}
		Print(n);
	}	
}
int main()
{
	int n;
	cin>>n;
	Init(n);
	
	Shell_Sort(n);
	

	return 0;
}

이상 힐 정렬
다음은 거품 정렬 입 니 다.
#include
using namespace std;
#define N 100
int a[N];
void Init(int n)
{
	cout<>a[i];
	}
}
void Print(int n)
{
	for(int i=1;i<=n;i++){
		printf("%d ",a[i]);
	}
	cout<a[j+1]){
				int t = a[j];
				a[j] = a[j+1];
				a[j+1] = t; 
			} 
		} 
	}
}
int main()
{
	int n;
	cout<>n;
	Init(n);

	Bubble(n);

	Print(n);
	return 0;
}


거품 정렬
다음은 빠 른 정렬 입 니 다.
#include
using namespace std;
#define N 100
int a[N];
void Init(int n)
{
	cout<>a[i];
	}
}
void Print(int n)
{
	for(int i=1;i<=n;i++){
		printf("%d ",a[i]);
	}
	cout<pivot) high--;
		a[low] = a[high];
		while(low>n;
	Init(n);

	Quick_Sort(1,n);

	Print(n);
	return 0;
}


이상 은 빠 른 정렬 입 니 다.

좋은 웹페이지 즐겨찾기