各种排序算法(C语言)

#include <stdlib.h>

#include <stdio.h>



 void DataSwap(int* data1, int* data2)

 {

     int temp = *data1;

     *data1 = *data2;

     *data2 = temp;

 }



void insertSort(int arr[],int iDataNum)

{

	int i,j,temp;



	for(i=1;i<iDataNum;i++)

	{

		j=i;

		temp = arr[i];

		while(j>0 && arr[j-1] < temp)

		{

			arr[j]=arr[j-1];

			j--;

		}

		arr[j]=temp;

	}



}



void bubbleSort(int arr[],int iDataNum)

{

	int i,j,temp;

	for(i=0;i<iDataNum;i++)

	{

		for(j=1;j<iDataNum-i;j++)

		{

			if(arr[j-1]>arr[j])

			{

				DataSwap(&arr[j-1],&arr[j]);

			}

		}

	}

}



void selectSort(int *arr,int iDataNum)

{

	for(int i=0;i<iDataNum-1 ; i++)

	{

		int index=i;

		for(int j=i+1;j<iDataNum;++j)

		{

			if(arr[j]>arr[index])

			{

				index=j;

			}

 		}

		if(index!=i)

		{

			DataSwap(&arr[i],&arr[index]);

		}

	}

}

int main()

{

	int arr[]={44,222,11,33,23,55};

	int iDataNum=sizeof(arr)/sizeof(int);

	 //insertSort(arr,iDataNum);

	//selectSort(arr,iDataNum);

	bubbleSort(arr,iDataNum);

	for(int i=0 ;i<iDataNum ;i++)

	{

		printf("%d\n",arr[i]);

	}

}

 排序算法还有很多。以后慢慢补充

你可能感兴趣的:(排序算法)