• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java和C冒泡排序

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Java

示例代码:

public class test {
	public static void main(String[] args) {
		String str = "321dca5"; //需要排序的字符串
		char[] new_string;
		new_string = sorting(str); //调用sorting进行排序
		System.out.println(new_string); //输出结果
	}
	
	public static char[] sorting(String str) {
		/**
		 * 传入一个字符串str排序后返回排序后的字符串
		 * */
		char[] arr;
		char t; //交换时零时存放数据
		int str_len;
		
		str_len = str.length();
		arr = str.toCharArray();
		
		for (int i=0;i<str_len-1;i++) {//最后一个值不用管-1即可,java中运行如果不减一下面if要重写,否则j+1会出现下标越界
			for (int j=0;j<str_len-1-i;j++) {
				if (arr[j] > arr[j+1]) { //>升序 <降序
					//替换j和j+1的值
					t = arr[j];
					arr[j] = arr[j+1];
					arr[j+1] = t;
				}
			}
		}
		//String new_str = arr.toString(); //这里不需要转成String即可直接输出字符串(不晓得数组中发生了什么)
		return arr;
	}
}
eclipse中执行结果:
	1235acd

C语言

示例代码:

# include <stdio.h>

void sort(int * a,int len);
int main(void){
	int arr[] = {20,3,4,1};
	int i,num;
	
	num = sizeof(arr) / sizeof(arr[0]);
	sort(arr,num); //因为arr是一个数组,直接使用数组名就能得到地址编号,所以这里直接传数组名称进去就可以了 
	for (i=0;i<num;i++){
		printf("%d\n",arr[i]);
	}
	
	return 0;
} 

void sort(int * pArr,int len){
	
	int i,j,t;
	for (i=0; i<len-1; ++i) //一直向后移动最后一个肯定是最小的所以执行len-1即可(不减1也可以)
	{
		for (j=0; j<len-1-i; ++j)
		{	//如果前面一个学生的成绩大于后面这个学生,则替换这两个学生的信息
			if (pArr[j] > pArr[j+1]) //>升序 <降序
			{
				t = pArr[j];
				pArr[j] = pArr[j+1];
				pArr[j+1] = t;
			}
		}
	}
}
Dev-c++中执行结果:
    1
    3
    4
    20

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap