数组增删改查及冒泡

package com.judge;

//插入功能的实现
import java.util.Scanner;

public class Insert {
public static void main(String[] args){

int[] a=new int[]{1 ,2 ,3 ,4 ,5 ,6};
Output(a);
/*可在main函数之外定义函数关系,以达到快捷应用的目的
*
public static void Output(int[] arr1){
for(int i=0;i<arr1.length;i++){
System.out.print(arr1[i]);}
}
如上:public static void 固定格式不变
Output 为关系的名
int[] 为该关系中的变量类型
arr1 为该关系示例中所作用的对象数组
public static void main(String[] args) arg:自变量
public static void Output(int[] arr1)
*/
for(int i=0;i<a.length;i++){
System.out.print(a[i]);}
System.out.println("请输入你要插入的位置:");
Scanner sc=new Scanner(System.in);
int index=sc.nextInt(); //index :指数、指针
System.out.println("请输入你要插的数字:");
int num=sc.nextInt();

if(index>0&&index<=a.length-1){
for(int j=a.length-1;j>index;j--){
a[j]=a[j-1];
}
a[index]=num;
}else{
System.out.println("你的输入有误!");
}
Output(a); }

public static void Output(int[] arr1){
for(int i=0;i<arr1.length;i++){
System.out.print(arr1[i]);}
}

}

package com.judge;

//8.数组的修改实现
import java.util.Scanner;
//不完善
public class Alter {
public static void main(String[] args) {
{
Input();
}
}
public static void Run(int a[],int index){
if(index<a.length){
for(int i=index;i<a.length-1;i++){
a[i]=a[index];

}
System.out.println(a[index]);
}
else{
System.out.println("输入要修改的位置有误,请重新输入位置:");
Input();
}
}
public static void Input(){
Scanner sc=new Scanner(System.in);
int arr[]=new int[]{1,2,3,4,5};
System.out.println("请输入要修改的元素的位置:");
int index=sc.nextInt();
Run(arr,index);
}

}

package com.judge;
//删除功能的实现
import java.util.Scanner;
import java.util.Scanner;

public class Delete {
public static void main(String[] args) {

int[] b=new int[]{1,2,3,4,5,6};
//定义数组:int[] b=new int{1,2,3,4,5,6};
show(b);
delete(b);
}
public static void delete(int[] array){
System.out.print("请输入你要删除的位置:");
Scanner sc=new Scanner(System.in);
int index=sc.nextInt();
if(index>=0&&index<=array.length-1){
for(int i=index;i<array.length-1;i++){
array[i]=array[i+1];
}array[array.length-1]=0;
show(array);
}else{
System.out.print("你的输入有误!");
}
}
public static void show(int[] array){
for(int i=0;i<array.length;i++){
System.out.print(array[i]);
}
}
}

package com.judge;

import java.util.Scanner;

public class Inquiry {
//查询功能的实现
public static void main(String[] args) {
int[] a=new int[]{1 ,2 ,3 ,4 ,5 ,6};
insert(a);
}
public static void insert(int[] array){
System.out.println("请输入你要查询的位置:");
Scanner sc=new Scanner(System.in);
int index=sc.nextInt();
if(index>=0&&index<=array.length){
for(int i=index;i<array.length-1;i++){
array[i]=array[index];
}
System.out.println(array[index]);
}

else{
System.out.print("你的输入有误!");
}

}
}

package com.judge;
//10.
/*冒泡排序法实现,自己先定义数组,然后排序
* 缺点:不能实现输入数据后排序的功能
* 输入排序见BubbleZh
* */
public class BubbleMe {
public static void main(String[] args){
int[] a=new int[]{1,3,6,9,5,3,7};
System.out.println("排序前的数组:");
for(int i=0;i<a.length;i++){
System.out.print(a[i]);
}System.out.println();
int temp;
for(int j=0;j<a.length;j++){
for(int k=0;k<a.length;k++){
if(a[k]<a[j]){
temp=a[j];
a[j]=a[k];
a[k]=temp;
}
}
}
System.out.println("排序后的数组:");
for(int i=0;i<a.length;i++){
System.out.print(a[i]);
}
}
}

package com.judge;
//功能更加全面的冒泡程序
import java.util.Scanner;

public class BubleZh {
//利用冒泡法进行排序
//为什么叫做是“冒泡”排序?
//这个算法的名字由来是因为越小或越大的元素会经由交换慢慢“浮”到数列的顶端,故名

public static void main(String[] args) {

Scanner scanner =new Scanner(System.in);
System.out.printf("请输入六个数:");
int[] score = new int[6];
for(int i = 0; i < score.length; i++){
score[i] = scanner.nextInt();
}

//int[] a = new int[]{53, 98, 9, 34, 56, 38};
PubbleSort(score);
// TODO Auto-generated method stub

}

public static void PubbleSort(int[] array){
int temp;
for(int x = 0; x < array.length - 1; x++ ){//这里是竖列的for循环,array.length是6个,而竖列只有5列, 所以应该是array.length-1
for(int y = 0; y < array.length - 1 - x; y++){
//在这里,第一次循环是5次,应该是array.length-1;但这是嵌套的for循环,第二次循环还是
//5次,所以这里的y < 这个值应该是个变量,通过发现每次循环,都会次数减少,次数应该是5,4,3,2,1,而x的变化正好是0,1,2,3,4
//所以次数:5-0=5, 5-1=4, 5-2=3, 5-3=2, 5-4=1;所以根据规律发现再- X 即可。
if(array[y] > array[y+1]){ //这里的y是0,1,2,3,4变化,所以y 与 y+1 即可
temp = array[y];
array[y] = array[y+1];
array[y+1] = temp;
}
}
}
for(int z = 0; z < array.length ; z++){
System.out.print(array[z]+" ");
}
}

}
/*
思路:
0 1 2 3 4 5
0-1 1-2 2-3 3-4 4-5
0-1 1-2 2-3 3-4
0-1 1-2 2-3
0-1 1-2
0-1

先是第一个和第二个比较,谁大谁排后,然后第二个和第三个比较,谁打谁拍后,第三个和第四个。。,第四个和第五个比较,完毕之后
第五个就是最大的,第五个就不用动;然后继续第一个和第二个比较,谁大谁排后,第二个和第三个。。。。就这样后第四个是倒数第二个大的
就这样比到最后,最后就只剩第一个和第二个比较;
通过上述,明显是两个for循环的嵌套。
*/

时间: 2024-10-11 07:22:09

数组增删改查及冒泡的相关文章

bash之数组增删改查

bash之数组-增删改查简介:存储多个元素的连续的内容空间数组名:自定义索引:编号从0开始,属于数值索引:    注意:索引也可支持使用自定义的格式,而不仅仅是数值格式:bash的数组支持稀疏格式: 增声明数组:declare -a array_name关联数组:declare -A array_name 数组元素的赋值方式    1)一次只赋值一个元素:  array_name[INDEX]=value      weekdays[0]="sundary" 2)一次赋值全部元素  a

JavaScript 数组增删改查 排序 字符串互转

arr -> 数组new -> 新数组str -> 字符串index -> 修改位置n -> 修改数量item -> 修改内容 [1]数组添加 1.index依次增加 arr.push('item'); // 放入 item 2.在指定 index 处开始添加 'item' arr.splice(index, 0, 'item'); // 第二个参数一定为0!!! [2]从数组中删除元素 1.删除从index开始以后的所有元素,包括index arr.splice(in

数组的增删改查操作

做批量数据录入时须要对json内的数组进行增删改查操作,splice还是非常强大的记录一下用法. var lang = ["php","java","javascript"]; //删除 var removed = lang.splice(2,1); console.log(lang); //php,javascript //console.log(removed); //java ,返回删除的项 //插入 var insert = lang.s

数据结构 线性结构(数组[列表] ,链表 单链表的增删改查**, 线性结构的应用 队列 栈[函数的调用**]),非线性结构 树

数据结构 参考:http://lupython.gitee.io/ 线性结构 就是能够用一根线串起来的数据结构 数组 (列表) 问:申请数组的前提条件是啥? a[12]?内存需要满足的条件? 答:内存必须有一块连续的内存空间 int a[7] : 声明一个数组,这个数组的数组名是 a, 数组的大小是 7, 数组元素的类型是整型. int a[7] = array(1,2,3,4,5,6,7) 问:如何申请内存? 答:C,C++语言,申请:mallco (28).释放:free(28) 问:int

(52)指针 (53)数组的增删改查

(52)指针 1. int * p定义一个指针 2. P=&a就能将指针指向变量a 3.定义一个赋值函数不能直接赋值需要用指针 1 #include<stdio.h> 2 void f1(int *b) 3 { 4 *b=10; 5 } 6 int main(void) 7 { 8 int a=1; 9 f1(&a); 10 printf("%d",a); 11 return 0; 12 } (53)数组的增删改查 1 #include<stdio.h

用基本数据结构修改后的学生信息管理系统(增删改查)

package com.xt.student.system; //创建学生类存放信息 public class Student {//声明变量private String stuNo; private String stuName; private String gender; private int age; private int score; //对变量进行封装 public String getStuNo() {return stuNo;} public void setStuNo(St

javascript生成表格增删改查 JavaScript动态改变表格单元格内容 动态生成表格 JS获取表格任意单元格 javascript如何动态删除表格某一行

jsp页面表格布局Html代码 <body > <center> <input type="text" value="111" id="mytext"> <table border="1" width="60%" id="mytable"> <tr> <td id="td1">第一行第一列<

mongodb的学习笔记一(集合和文档的增删改查)

1数据库的增删改查 一.增加一个数据库: use blog-----切换到指定的数据库,如果数据库不存在,则自动创建该数据库(新建的数据库,如果没有存储对应的集合,是不会显示出来的) 二.删除一个数据库 1首先用use 切换到你需要删除的数据库 use test 2然后执行db.dropDatabase()命令 db.dropDatabase() 三.修改一个数据库的名字 db.copyDatabase(fromdb, todb, fromhost) fromdb:源数据库, todb:目标数据

20150113--PDO增删改查+封装PDO类

回顾 方法重写:是因为对象的访问会先去子类的类空间找,从而形成了对父类的覆盖. 继承链:类只能单继承,但是可以通过继承链来实现多继承 特殊类:final类和抽象类 接口:interface PHP重载:当访问一个权限不够或者不存在的属性或者方法的时候,会自动触发的魔术方法. 属性重载和方法重载 对象的保存和还原:serialize和unserialize(对应的类已经在内存:如果有资源属性必须进行重新加载资源),魔术方法(__sleep和__wakeup) 对象遍历:默认只能遍历public属性