首页 > 其他分享 >排序

排序

时间:2023-11-12 16:37:23浏览次数:28  
标签:int 插入排序 mid len high low 排序

//直接插入排序
void InsertSort(int A[],int len){
	for(int i=2;i<=len;i++){
		if(A[i]<A[i-1]){
			A[0]=A[i];
		    for(int j=i-1;A[0]<a[j];j--){
			    A[j+1]=A[j];		
		    }
		    A[j+1]=A[0];
		}	
	}
}
//折半插入排序
void insertSort(int A[],int len){
	int low,high,i,j,mid;
	for(i=2;i<n;i++){
		A[0]=A[i];
		low=1;
		high=len-1;
		while(low<=high){
			mid=(low+high)/2;
			if(A[mid]>A[0]) high=mid-1;
			else low=mid+1;
		}
		for(int j=i-1;j>=high+1;j--){
			A[j+1]=A[j];
		} 
		A[high+1]=A[0];
	} 
} 

 

标签:int,插入排序,mid,len,high,low,排序
From: https://www.cnblogs.com/xyzd/p/17827341.html

相关文章

  • I 排序
    ADescription:一叠卡牌有\(n\)张,每张卡牌上面写有一个数字,从上往下数第\(i\)张卡牌上面写的数字为\(a_i\),每张卡牌上面写的数字互不相等,并且数字都在\([1,n]\)的范围内。现在要把卡牌整理成顺序卡牌(卡牌堆从上到下第\(i\)张卡牌上面写着数字\(i\))。可是这叠卡牌......
  • MySQL 数据库查询与数据操作:使用 ORDER BY 排序和 DELETE 删除记录
    使用ORDERBY进行排序使用ORDERBY语句按升序或降序对结果进行排序。ORDERBY关键字默认按升序排序。要按降序排序结果,使用DESC关键字。示例按名称按字母顺序排序结果:importmysql.connectormydb=mysql.connector.connect(host="localhost",user="yourusernam......
  • MySQL 数据库查询与数据操作:使用 ORDER BY 排序和 DELETE 删除记录
    使用ORDERBY进行排序使用ORDERBY语句按升序或降序对结果进行排序。ORDERBY关键字默认按升序排序。要按降序排序结果,使用DESC关键字。示例按名称按字母顺序排序结果:importmysql.connectormydb=mysql.connector.connect(host="localhost",user="youruserna......
  • 冒泡排序(Bubble Sort)
    目录1.冒泡排序1.1基本原理1.2例子1.3示例代码2.魔炮排序2.1基本原理2.1例子2.2示例代码1.冒泡排序1.1基本原理冒泡排序(BubbleSort)是一种简单的排序算法。它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直......
  • 数据结构之树(二叉排序树)
    特点二叉排序树(BinarySearchTree,BST)的特点:每个节点最多有两个子节点,分别称为左子节点和右子节点。节点的左子树中的所有节点的值都小于该节点的值。节点的右子树中的所有节点的值都大于该节点的值。左子树和右子树也分别是二叉排序树。BST的主要优点是可以实现高效的查......
  • MATLAB对矩阵按照某一列排序
    转载:matlab对矩阵按照某一列排序_matlab对矩阵按列升序排列-CSDN博客升序排列:命令:data=[1,2,3;7,8,9;4,5,6];a1=sortrows(data,1);%按照第一列排序(升序),其他列与排序结果一一对应。a2=sortrows(data,2);%按照第二列排序(升序),其他列与排序结果一一对应......
  • C++简单插入排序
    voidinsertSort(inta[],intlen){ inti,j,temp; if(len==1)return; for(i=1;i<len;i++){ if(a[i]<a[i-1]){ temp=a[i]; for(j=i-1;j>=0&&a[j]>temp;j--){ a[j+1]=a[j]; }a[j+1]=temp; ......
  • C++创建二叉排序树
    voidcreate(Tree&t,intval){if(t==nullptr){t=newnode;t->data=val;t->left=t->right=nullptr;}elseif(val>t->data)create(t->right,val);elseif(val<t->data)create(t->left,val);}voidinsert(Tree&......
  • C#的DataTable排序各种方法
    在很多时候,我们做datatable排序的时候,在string类型 需要进行数字转换在排序的时候,就不能用自带的,dtTemplate.DefaultView.Sort办法,这时候的排序需要先转换类型,在进行排序。下面介绍几种转换类型后排序的方法:第一种:     publicDataTableLinqSortDataTable(DataT......
  • 冒泡排序
    voidbubble(int*arr,intn){ for(inti=1;i<=n-1;i++) { intflag=1; for(intj=1;j<=n-i;j++) { if(arr[j]>arr[j+1]) { inttemp; temp=a......