算法笔记习题 2-5小节

这篇博客主要介绍了C/C++算法中的几个关键问题,包括冒泡排序的原理及实现,杨辉三角的生成,字符串的解密与比较,以及数组操作如逆序输出、有序插入和矩阵转置等。此外,还涉及到了Fibonacci数列的计算和字符串的最大值查找。
摘要由CSDN通过智能技术生成

算法笔记@Ada_Lake

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

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

// Ada
#include<stdio.h>
#define N 6

int 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值