算法笔记习题 2

编程入门 行业动态 更新时间:2024-10-08 07:39:46

算法笔记<a href=https://www.elefans.com/category/jswz/34/1769768.html style=习题 2"/>

算法笔记习题 2

算法笔记@Ada_Lake

算法笔记代码保留地~~~

冒泡循环
冒泡循环算是基础,但毕竟是基本算法,还是写在这里。
其本质就是交换

根据姥姥所说,大问题化小。可以看到就是交换。但两两交换要多少次,就要循环了
1.由前向后将最大数放至最后一位是一轮,则总共要执行多少轮呢?
即需要外层循环进行轮数判断。总共需要进行n-1次
2.一轮是如何将最大数放在最后一位的呢?是通过相邻两个之间相比较。
至此。冒泡循环结束
以下是代码

// Ada
#include<stdio.h>
#define N 6int main(){  int temp;int a[N] = {1, 2, 3, 4, 5, 6};for(int i = 1; i <= N-1; i++ ){  //for(int j = 0; j <= j - i; j++){temp = a[j];a[j] = a[j + 1];a[j + 1] = temp;			}	}for(int i = 0; i < N; i++){printf("%d ", a[i]);}return 0;
}

三维数组
没太想清楚三维数组会怎样在操作台上表示出来,就直接输出。其实就是大的数组里套了一个小数组
以下是代码

// Ada
#include<stdio.h>int main(){  int a[3][3][3] = {{ {1, 2, 3}, {4, 5, 6}, {7, 8, 9}}, {{1, 4, 7}, {2, 5, 8}, {3, 6, 9}}, {{1, 5, 9}, {7, 5, 3}, {4, 5, 6}}};printf("\n");for(int i = 0; i < 3; i++){for(int j = 0; j <3; j++){for(int k = 0; k < 3; k++){printf("  %d ", a[i][j][k]);				}printf("\n");}printf("\n");}return 0;
}	

算法笔记@Ada_Lake

算法笔记代码保留地~~~

2.5小节——C/C++快速入门->数组

问题 A: 习题6-4 有序插入
  1. 题目描述 ,有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入到数组中。
    假设数组长度为10,数组中前9个数(这9个数要求从键盘上输入,输入时要满足自小到大的输入顺序)已经按从小到大进行排序。
    然后再从键盘上输入一个整数,将此整数插入到前有序的9个数中,使得最终的10个数依然是从小到大有序的。
  2. 输入,第一行输入以空格分隔的9个整数数,要求按从小到大的顺序输入。
    第二行输入一个整数
  3. 输出,从小到大输出这10个数,每个数一行。
  4. 样例输入, 1 11 21 31 41 51 61 71 81
    45
  5. 样例输出,
    1
    11
    21
    31
    41
    45
    51
    61
    71
    81

我的理解
1.先输入已排好序的数组
2.判断输入的数应该在哪个位置
3.这个位置包括这个位置之后的数依此向后挪一位,把这个数放进去
4.整个数组输出

**以下是代码**
// Ada
#include<stdio.h>int main(){int a[10], n, k, j = 0;for(int i = 0; i < 9; i++){scanf("%d ", &a

更多推荐

算法笔记习题 2

本文发布于:2024-03-23 15:07:30,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1739592.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:习题   算法   笔记

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!