1. 程式人生 > 其它 >希爾排序演算法

希爾排序演算法

在這裡插入圖片描述

#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
using namespace std;
void Shellsort(int pa[],int n){
	int temp;
	int gap=n/2;
	while(gap){
		for(int i=gap;i<2*gap&&i<n;i++){
			for(int j=i;j<n;j+=gap){
				temp=pa[j];
				int k=j;
				while
(j>=gap&&temp<pa[k-gap]){ pa[k]=pa[k-gap]; k-=gap; } pa[k]=temp; } } gap/=2; } } int main(){ int item; int k=0; int pa[50]; cout<<"輸入以0結束: "; cin>>item; while(item!=0){ pa[k]=item; k++; cin>>item; } Shellsort(pa,k); cout<<
"輸出排序後的元素: "; for(int i=0;i<k;i++){ cout<<pa[i]<<" "; } return 0; }

在這裡插入圖片描述