`
Enria
  • 浏览: 11758 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

插入排序

 
阅读更多

选择排序:

 

#include <stdio.h>

void InsertSort(int A[], int n)
{
	for(int i=0;i<n;i++)
	{
		int temp = A[i];
		int j = i-1;
		while(j>=0 && temp<A[j])
		{
			A[j+1] = A[j];       //根据temp<A[j],将数据向右移位
			j--;
		}
		A[j+1] = temp;           //将temp插入在正确的位置
	}
}

void InsertSort1(int A[], int n)
{
	for(int i=0;i<n;i++)
	{
		int j = i-1;
		while(j>=0 && A[j+1]<A[j])     //比较两个相邻的数据,如果小于,则交换,直到循环结束
		{
			int temp = A[j+1];
			A[j+1] = A[j];
			A[j] = temp;
			j--;
		}	
	}
}

void printMatrix(int A[], int n)
	{
		for(int i=0;i<n;i++)
			printf("%d",A[i]);
}

int main(void)
{
	int A[] = {6,5,4,9,8,1};
	/*
	InsertSort1(A,6);
		printMatrix(A,6);
	*/
	InsertSort1(A,6);
	printMatrix(A,6);
	return 0;
}
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics