Java和C冒泡排序
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
Java和C冒泡排序的更多相关文章
- JAVA算法系列 冒泡排序
java算法系列之排序 手写冒泡 冒泡算是最基础的一个排序算法,简单的可以理解为,每一趟都拿i与i+1进行比较,两个for循环,时间复杂度为 O(n^2),同时本例与选择排序进行了比较,选择排序又叫直 ...
- java算法之冒泡排序法
由此可见:N个数字要排序完成,总共进行N-1趟排序,每第 i 趟的排序次数为 (N-i) 次,所以 可以用双重循环语句,外层控制循环多少趟,内层控制每一趟的循环次数,即 for(inti=0;i& ...
- Java中的冒泡排序
Java中的冒泡排序排序的第一种思想:将第一个值与后面的值相比较,如果第一个值比其他值小,那么将较大的值与第一个换位置,然后继续比较直至所有的数比较完成.这样就可以保证第一个数是最大数.然后将第二个数 ...
- Java 排序算法-冒泡排序及其优化
Java 排序算法-冒泡排序及其优化 什么是冒泡排序 基本写法 优化后写法 终极版本 源码及测试 什么是冒泡排序 这里引用一下百度百科上的定义: 冒泡排序(Bubble Sort),是一种计算机科学领 ...
- Java基础(45):冒泡排序的Java封装(完整可运行)
1.冒泡排序 package lsg.ap.bubble; import java.util.*; public class BubbleSort { public static void bubbl ...
- java 数组的冒泡排序
冒泡排序 (1)冒泡排序算法的运作如下:(从后往前) 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最 ...
- 使用C语言和Java分别实现冒泡排序和选择排序
经典排序算法--冒泡和选择排序法 Java实现冒泡排序 基本思想是,对相邻的元素进行两两比较,顺序相反则进行交换,这样,每一趟会将最小或最大的元素放到顶端,最终达到完全有序,首先看个动图: 我们要清楚 ...
- 面试 9:Java 玩转冒泡排序
面试 9:用 Java 实现冒泡排序 南尘的朋友们,新的一周好,原本打算继续讲链表考点算法的,这里姑且是卡一段.虽然在我们 Android 开发中,很少涉及到排序算法,因为基本官方都帮我们封装好了,但 ...
- Python和Java分别实现冒泡排序
1.基本思想 冒泡排序的基本思想是对比相邻的元素值.相邻元素值比较,如果满足条件两者就交换,把较小的移动到前面,把较大的移动到后面,这样较小的元素就像气泡一样浮上来了.可以看出,冒泡排序的每一次循环都 ...
- java面向对象的冒泡排序,选择排序和插入排序的比较
这三种排序有俩个过程: 1.比较俩个数据. 2.交换俩个数据或复制其中一项. 这三种排序的时间级别 冒泡排序:比较 (N-1)+(N-2)+...+2+1 = N*(N-1)/2=N2/2 交换 0 ...
随机推荐
- Web三层-UI/BLL/DAL/MODEL
2013传智播客视频\视频\2013-05-28-EF\视频 创建4个程序集,添加引用,model添加映射, P01UI表现层--BLL+MODELP02BLL业务层--DAL+MODELP03DAL ...
- 主线程中的Looper.loop()一直无限循环为什么不会造成ANR
待归纳 https://www.jianshu.com/p/cfe50b8b0a41 https://blog.csdn.net/cjh94520/article/details/71022883 那 ...
- 第一节,Windows10下Darkflow的安装与测试(YOLO)
1.下载Darkflow:https://github.com/thtrieu/darkflow 2.解压到目录,打开cmd,进入到解压的目录,并输入python setup.py build_ext ...
- Nginx在局域网中使用ip_hash负载均衡策略,访问全部分发到同一个后台服务器
Nginx的ip_hash算法都将一个ip地址的前三段作为hash的关键字
- cartographer 安装
Debian 8 Jessie 一顿操作梦如虎,最后不知道咋装上的. 参考:https://www.jianshu.com/p/9922a51ce38f https://blog.csdn.net/p ...
- 老师博客copy
新闻 管理 Py西游攻关之基础数据类型 数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频 ...
- 使用SpringSocial开发QQ登录
⒈编写QQ用户对应的数据结构 package cn.coreqi.social.qq.entities; /** * 封装QQ的用户信息 */ public class QQUserInfo { /* ...
- 【转】Python 面向对象(初级篇)
[转]Python 面向对象(初级篇) 51CTO同步发布地址:http://3060674.blog.51cto.com/3050674/1689163 概述 面向过程:根据业务逻辑从上到下写垒代码 ...
- 解决MySQL报错ERROR 2002 (HY000)【转】
今天在为新的业务线搭架数据库后,在启动的时候报错 root@qsbilldatahis-db01:/usr/local/mysql/bin# ./mysql ERROR 2002 (HY000): C ...
- Linux目录结构以及文件操作
Linux目录结构 UNIX 是以目录为主的,Linux 也继承了这一优良特性. Linux 是以树形目录结构的形式来构建整个系统的,可以理解为树形目录是一个用户可操作系统的骨架.虽然本质上无论是目录 ...