diff --git a/anolis-courses/bubbleSort/index.yaml b/anolis-courses/bubbleSort/index.yaml new file mode 100644 index 0000000000000000000000000000000000000000..312727863106ea1a7c5b26f14b2af2538f94b1f6 --- /dev/null +++ b/anolis-courses/bubbleSort/index.yaml @@ -0,0 +1,10 @@ +name: 冒泡排序 +desc: 使用 java 语言实现一个冒泡排序函数,使无序数组变成升序数组 +type: developer +total_time: 60min +level: beginner +chapters: + - name: 使用 java 语言实现一个冒泡排序 + desc: 使用 java 语言实现一个冒泡排序函数,使一个无序数组变的有序 + content: + live_time: 60min \ No newline at end of file diff --git "a/anolis-courses/bubbleSort/\344\275\277\347\224\250 java \350\257\255\350\250\200\345\256\236\347\216\260\344\270\200\344\270\252\345\206\222\346\263\241\346\216\222\345\272\217/index.yaml" "b/anolis-courses/bubbleSort/\344\275\277\347\224\250 java \350\257\255\350\250\200\345\256\236\347\216\260\344\270\200\344\270\252\345\206\222\346\263\241\346\216\222\345\272\217/index.yaml" new file mode 100644 index 0000000000000000000000000000000000000000..a0f5cb6aba8cca330b390c5b3a48509cd7e8a18c --- /dev/null +++ "b/anolis-courses/bubbleSort/\344\275\277\347\224\250 java \350\257\255\350\250\200\345\256\236\347\216\260\344\270\200\344\270\252\345\206\222\346\263\241\346\216\222\345\272\217/index.yaml" @@ -0,0 +1,21 @@ +name: 使用 java 语言实现一个冒泡排序 +desc: 使用 java 语言实现一个冒泡排序函数,使一个无序数组变的有序 +image: Anolis OS 8.4 ANCK 64位 +live_time: 60min +machine: x86_64-2c4g +max_clients: 5 +details: + steps: + start: start.md + - name: Fork代码 + content: step2.md + - name: 下载Git + content: step3.md + - name: clone代码 + content: step4.md + - name: 编写并提交代码 + content: step5.md + - name: 提交PR + content: step6.md + - name: 结语 + content: step7.md diff --git "a/anolis-courses/bubbleSort/\344\275\277\347\224\250 java \350\257\255\350\250\200\345\256\236\347\216\260\344\270\200\344\270\252\345\206\222\346\263\241\346\216\222\345\272\217/start.md" "b/anolis-courses/bubbleSort/\344\275\277\347\224\250 java \350\257\255\350\250\200\345\256\236\347\216\260\344\270\200\344\270\252\345\206\222\346\263\241\346\216\222\345\272\217/start.md" new file mode 100644 index 0000000000000000000000000000000000000000..4e3fbd96e72b8a746d07daf76a6cd7df192d3758 --- /dev/null +++ "b/anolis-courses/bubbleSort/\344\275\277\347\224\250 java \350\257\255\350\250\200\345\256\236\347\216\260\344\270\200\344\270\252\345\206\222\346\263\241\346\216\222\345\272\217/start.md" @@ -0,0 +1,30 @@ +# 本章节教你怎么使用 java 语言一个冒泡排序函数 +系统环境:AnolisOS操作系统、Git + +## 一、冒泡排序介绍: +冒泡排序是一种简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成。 + +## 二、通俗理解 +简单的说,如果我们想将一个数组从小到大排列,我们可以这样做: +1. 首先可以将数组的最大值移动到最后面。 +2. 再将次大值移动到倒数第二位。 +3. 以此类推,直到将所有数排列好。 + +那冒泡排序是怎么实现上述操作的呢?我们来看下算法描述 + +## 三、算法描述 +假设我们有数组arr +1. 令j为0,arr[j]和arr[j+1]比较,使这两个元素的较大值在排在后面,即若arr[j]>arr[j+1],两数交换位置,若arr[j]Gitee平台注册一个帐号,已注册可忽略本步骤 。 + +2. 进入龙蜥社区高校活动开源代码仓库。 + + 访问地址:[https://gitee.com/anolis-challenge/activity-school/tree/master](https://gitee.com/anolis-challenge/activity-school/tree/master) + +3. 点击Fork按钮将 activity-school 代码仓库复制到自己的gitee帐号下。 + + ![fork.png](https://anolis-pub-share.oss-cn-hangzhou.aliyuncs.com/anolis-lab/assets/1662349524385-fork.png) + +4. 进入自己的gitee帐号,点击Fork的项目查看详情 + + ![fork2.png](https://anolis-pub-share.oss-cn-hangzhou.aliyuncs.com/anolis-lab/assets/1662359553680-fork2.png) \ No newline at end of file diff --git "a/anolis-courses/bubbleSort/\344\275\277\347\224\250 java \350\257\255\350\250\200\345\256\236\347\216\260\344\270\200\344\270\252\345\206\222\346\263\241\346\216\222\345\272\217/step3.md" "b/anolis-courses/bubbleSort/\344\275\277\347\224\250 java \350\257\255\350\250\200\345\256\236\347\216\260\344\270\200\344\270\252\345\206\222\346\263\241\346\216\222\345\272\217/step3.md" new file mode 100644 index 0000000000000000000000000000000000000000..8fe4cc70bfc34aef12cd289649e4b682d01d8d46 --- /dev/null +++ "b/anolis-courses/bubbleSort/\344\275\277\347\224\250 java \350\257\255\350\250\200\345\256\236\347\216\260\344\270\200\344\270\252\345\206\222\346\263\241\346\216\222\345\272\217/step3.md" @@ -0,0 +1,15 @@ +说明:下载 Git 工具。 + +1. 点击右侧的 start 按钮,申请一个AnolisOS系统的终端 。 +![start.png](https://anolis-pub-share.oss-cn-hangzhou.aliyuncs.com/anolis-lab/assets/1662360572797-start.png) +2. 在终端依次输入如下指令,即可安装 Git。 + + [[ yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel ]] + + [[ yum -y install git ]] + + [[ git --version ]] + + ![start2.png](https://anolis-pub-share.oss-cn-hangzhou.aliyuncs.com/anolis-lab/assets/1662360596658-start2.png) + +![start3.png](https://anolis-pub-share.oss-cn-hangzhou.aliyuncs.com/anolis-lab/assets/1662360605500-start3.png) diff --git "a/anolis-courses/bubbleSort/\344\275\277\347\224\250 java \350\257\255\350\250\200\345\256\236\347\216\260\344\270\200\344\270\252\345\206\222\346\263\241\346\216\222\345\272\217/step4.md" "b/anolis-courses/bubbleSort/\344\275\277\347\224\250 java \350\257\255\350\250\200\345\256\236\347\216\260\344\270\200\344\270\252\345\206\222\346\263\241\346\216\222\345\272\217/step4.md" new file mode 100644 index 0000000000000000000000000000000000000000..c7bc0b3890c81bc7ef73a8e3289d9358a0cb6736 --- /dev/null +++ "b/anolis-courses/bubbleSort/\344\275\277\347\224\250 java \350\257\255\350\250\200\345\256\236\347\216\260\344\270\200\344\270\252\345\206\222\346\263\241\346\216\222\345\272\217/step4.md" @@ -0,0 +1,17 @@ +说明:使用Git工具克隆自己的项目到命令行终端。 + +1. 在自己的项目下,找到Clone, 选择复制 。 +![clone1.png](https://anolis-pub-share.oss-cn-hangzhou.aliyuncs.com/anolis-lab/assets/1662360795106-clone1.png) +2. 在终端输入如下指令,即可完成代码 clone。 + + [[ git clone xxx ]] + +其中 xxx 为 1 中复制的链接, clone 完可以在本地看到一个 activity-school 的文件夹 +![clone3.png](https://anolis-pub-share.oss-cn-hangzhou.aliyuncs.com/anolis-lab/assets/1662361241338-clone3.png) + +3. 进入 activity-school/codes 文件夹,创建一个以自己社区帐号命名的文件夹 +![clone4.png](https://anolis-pub-share.oss-cn-hangzhou.aliyuncs.com/anolis-lab/assets/1662361366914-clone4.png) + +如:我的社区帐号是 fubing3, 我在 activity-school/codes 文件夹下使用 mkdir 命令创建了一个fubing3的文件夹 + + diff --git "a/anolis-courses/bubbleSort/\344\275\277\347\224\250 java \350\257\255\350\250\200\345\256\236\347\216\260\344\270\200\344\270\252\345\206\222\346\263\241\346\216\222\345\272\217/step5.md" "b/anolis-courses/bubbleSort/\344\275\277\347\224\250 java \350\257\255\350\250\200\345\256\236\347\216\260\344\270\200\344\270\252\345\206\222\346\263\241\346\216\222\345\272\217/step5.md" new file mode 100644 index 0000000000000000000000000000000000000000..c125d636b1ce4adc23ab99980ae8af790f583a81 --- /dev/null +++ "b/anolis-courses/bubbleSort/\344\275\277\347\224\250 java \350\257\255\350\250\200\345\256\236\347\216\260\344\270\200\344\270\252\345\206\222\346\263\241\346\216\222\345\272\217/step5.md" @@ -0,0 +1,47 @@ +说明:编写代码,实现一个冒泡排序的函数。 + +1. 进入上一步骤创建的文件夹,输入 vim issueId.java 命令创建一个以 issueId 命名的 .java 文件,其中issueId是一个6位数的数字,参考下图中的位置选择并复制。 + +![issueId.png](https://anolis-pub-share.oss-cn-hangzhou.aliyuncs.com/anolis-lab/assets/1662694077072-issueId.png) + + 在 vim 编辑框中输入如下模版代码,并在模版代码中实现你的排序代码。 + + 模版代码: + + ``` + /** + * 冒泡排序函数 + * aa bb cc + * @param a 待排序的数组 + * @param n 待排序的数组长度 + */ + public static void bubbleSort(int [] a, int n){ + // 你的代码,使无序数组 a 变得有序 + ... + ... + + } //end + ``` + +![clone6.png](https://anolis-pub-share.oss-cn-hangzhou.aliyuncs.com/anolis-lab/assets/1662362508531-clone6.png) + +2. 排序代码写完之后使用如下命令将本地代码推送到自己的 Gitee 项目上 + + [[ cd ~/activity-school ]] + +回到 activity-school 目录下 + + [[ git add . ]] + +将新加的codes下的目录放到 git 暂存区 + + [[ git commit -m "添加排序代码" ]] + +提交暂存区的代码 + + [[ git push ]] + +推送暂存区的代码 + +3. 推送完代码之后回到自己的 Git 项目目录下可以看到刚才提交的代码 +![clone9.png](https://anolis-pub-share.oss-cn-hangzhou.aliyuncs.com/anolis-lab/assets/1662363957967-clone9.png) \ No newline at end of file diff --git "a/anolis-courses/bubbleSort/\344\275\277\347\224\250 java \350\257\255\350\250\200\345\256\236\347\216\260\344\270\200\344\270\252\345\206\222\346\263\241\346\216\222\345\272\217/step6.md" "b/anolis-courses/bubbleSort/\344\275\277\347\224\250 java \350\257\255\350\250\200\345\256\236\347\216\260\344\270\200\344\270\252\345\206\222\346\263\241\346\216\222\345\272\217/step6.md" new file mode 100644 index 0000000000000000000000000000000000000000..91b86fa3b5a86d84d18e01f2a8bbf686d28ede94 --- /dev/null +++ "b/anolis-courses/bubbleSort/\344\275\277\347\224\250 java \350\257\255\350\250\200\345\256\236\347\216\260\344\270\200\344\270\252\345\206\222\346\263\241\346\216\222\345\272\217/step6.md" @@ -0,0 +1,12 @@ +说明:将编写的代码从自己的Gitee项目上提交到高校活动的开源项目上。 + +1. 进入自己的 Gitee项目,点击创建Pull Request提交PR。 +![clone10.png](https://anolis-pub-share.oss-cn-hangzhou.aliyuncs.com/anolis-lab/assets/1662364267572-clone10.png) + +2. 输入 PR 提交信息,点击创建即可。 +![clone11.png](https://anolis-pub-share.oss-cn-hangzhou.aliyuncs.com/anolis-lab/assets/1662364276319-clone11.png) + +3. 提交完成后可在仓库: [https://gitee.com/anolis-challenge/activity-school/pulls](https://gitee.com/anolis-challenge/activity-school/pulls) 下看到自己提交的PR。 +![clone12.png](https://anolis-pub-share.oss-cn-hangzhou.aliyuncs.com/anolis-lab/assets/1662364447564-clone12.png) + +4. 系统会自动根据提交的代码判断提交是否规范、代码是否正确等,通过测试会直接将贡献值发放到对应的[龙蜥社区官网帐号](https://openanolis.cn)上,在官网帐号上可以使用贡献值兑换相关礼品。 \ No newline at end of file diff --git "a/anolis-courses/bubbleSort/\344\275\277\347\224\250 java \350\257\255\350\250\200\345\256\236\347\216\260\344\270\200\344\270\252\345\206\222\346\263\241\346\216\222\345\272\217/step7.md" "b/anolis-courses/bubbleSort/\344\275\277\347\224\250 java \350\257\255\350\250\200\345\256\236\347\216\260\344\270\200\344\270\252\345\206\222\346\263\241\346\216\222\345\272\217/step7.md" new file mode 100644 index 0000000000000000000000000000000000000000..fe7409ffe46caf3a9049bbc05579f13ec88a8243 --- /dev/null +++ "b/anolis-courses/bubbleSort/\344\275\277\347\224\250 java \350\257\255\350\250\200\345\256\236\347\216\260\344\270\200\344\270\252\345\206\222\346\263\241\346\216\222\345\272\217/step7.md" @@ -0,0 +1 @@ +恭喜您完成了本次活动。 \ No newline at end of file