栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言冒泡、选择、直插算法

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言冒泡、选择、直插算法

冒泡排序
#include 
int main(){
	int a[]={22,62,1,-22,95,47,85,63,-45,152,19,28};
    int n;       //数组个数
    int i;
    int j;        //需要进行比较的轮数
    int temp;      //用于冒泡交换
    n=sizeof(a)/sizeof(a[0]);
    for(i=0;i//进行n-1轮比较
		for(j=0;j//每轮进行n-i-1次
			if(a[j]>a[j+1]){ 
				temp=a[j];
				a[j]=a[j+1];
				a[j+1]=temp;
            }
        }    
    }
    for(i=0;i
		printf("%d ",a[i]);   
    }
    printf("n");
	return 0;
}
简单选择
#include 
int main()
{
	int i;
    int j;
    int temp;
	int n;
    int a[]={10,62,-25,147,98,14,2,63,85,34};
	n = sizeof(a)/sizeof(a[0]);
    for (i=0;i
        for(j=i+1;j
            if(a[i]>a[j]){
                temp=a[i];
                a[i]=a[j];
                a[j]=temp;           
            }           
        }              
    }
    for(i=0;i<10;i++){
        printf("%d ",a[i]);  
    }
	return 0;
}
直插算法
#include 

int main(){
	int arr[10] = {5,2,6,0,3,9,1,7,4,8};
	int i,j,temp;
	int n = sizeof(arr)/sizeof(arr[0]);

	for(i=1; i
		if(arr[i] < arr[i-1]){//如果后一个小于前一个
			temp = arr[i];//将后一个数值存入temp
			for(j=i-1; arr[j]>temp && j>=0; j--){//如果前面的元素大于temp,则逐个向后移位
				arr[j+1] = arr[j];
			}
			//此时num[j+1]后的元素移位完成,将temp存入num[j+1],因为最后一次for循环后j--
			arr[j+1] = temp;
		}
	}
		for(int i = 0; i
		printf("%d ",arr[i]);
	}
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1011092.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号