VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 215|回复: 0

[分享] 一起跟我学习c++之路的点点滴滴,从入门学到废

[复制链接]
13_avatar_middle
最佳答案
1 
在线会员 发表于 2021-4-5 16:36:01 | 显示全部楼层 |阅读模式
本帖最后由 小白学编程 于 2021-4-5 16:39 编辑

一维数组  静态 和动态
定义并初始化了数组array
int array[7] = {300,450,600,550,900,1050,4000}; //打印出数组元素的最大值  [6] 有几个填几个元素
         先定义一个最大值
           int max=0;
      先打印出==={300,450,600,550,900,1050,4000}
        for (int i = 0; i < 7; i++) //注意这里i<7要和array[7]一样
        {
                cout << array << endl;  //注意要 array 加上【i】,否则打印的是内存空间地址,并以16进制显示
                                                     // cout << (int)array << endl;     16进制转换10进制输出                                          
        }
1.1代码
        int array[7] = {300,450,600,550,900,1050,4000};
        int max = 0;
        for (int i = 0; i < 7; i++)
        {
                //cout << array << endl;
                if (array > max)
                {
                        max = array;
                }
        }
        cout << "数组中的元素最大值为 " << max << endl;    输出为4000;

1.2数组元素逆置
int array[13] = { 1,3,2,5,4,8,9,15,13,7,10,12,14};
        cout << "数组元素逆置前 " << endl;
        for (int i=0;i<13;i++)
        {
                cout << array<<" ";
        }
        cout << endl;
1.3//2.实现逆置    记录起始下标位置       记录结束下标位置      起始下标和结束下标的位置互换      起始下标++,结束下标--
循环执行操作,直到起始位置>=结束位置
int start = 0;
        int end = sizeof(array) / sizeof(array[0])-1;
        while (start < end)
        {
                int temp = array[start];
                array[start] = array[end];
                array[end] = temp;
                //下标更新
                start++;
                end--;
        }
        cout << "数组元素逆置后" << endl;
       
        for (int i = 0; i < 13; i++)
        {
                cout << array << " ";
        }
     cout << endl;
数组元素逆置前
1 3 2 5 4 8 9 15 13 7 10 12 14
数组元素逆置后的效果
14 12 10 7 13 15 9 8 4 5 2 3 1

1.3冒泡排序
int array[15] = { 4,2,8,0,5,7,1,3,9,10,13,14,6,12,11};
        cout << "排序前" << endl;
        for (int i = 0; i < 15; i++)
        {
                cout << array << " "; //这里以空格隔开
        }
        cout << endl;
先打印出 4,2,8,0,5,7,1,3,9,10,13,14,6,12,11


for (int i = 0; i < 15-1; i++)
        {
                for (int j = 0; j < 15 - i - 1; j++)
                {
                        if (array[j]>array[j+1])
                        {
                                int temp = array[j];
                                array[j] = array[j + 1];
                                array[j + 1] = temp;
                        }
                       
                }
        }
       
        cout << "排序后" << endl;
        for (int i = 0; i < 15; i++)
        {
                cout << array << " ";
        }
        cout << endl;
输出结果

排序前
4 2 8 0 5 7 1 3 9 10 13 14 6 12 11
排序后
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
===================================================================================
二维数组  第一种方式   访问数组索引下标0开始
       int array[2][3];
        array[0][0] = 1;
        array[0][1] = 2;
        array[0][2] = 3;
        array[1][0] = 4;
        array[1][1] = 5;
        array[1][2] = 6;
       
        cout << array[0][0] << endl;
        cout << array[0][1] << endl;
        cout << array[0][2] << endl;
        cout << array[1][0] << endl;
        cout << array[1][1] << endl;
        cout << array[1][2] << endl;
这里如果出现10行10列岂不是需要写100行,不推荐使用

二维数组  第二种方式   数据类型  数组名【行数】【列数】={{数据1,数据2,},{数据3}{数据4}}
        这种可读性高,便于阅读
        int array1[2][3]=
        {
                {1,2,3},
             {4,5,6}
        };
        for (int i = 0; i < 2; i++)
        {
                for (int j = 0; j < 3; j++)
                {
                        cout << array1[j] << endl;
                }
        }
二维数组  第三种方式
数据类型,数组名【行数】【列数】={数据1,数据2,数据3,数据4,数据5,数据6}

        int array2[2][3] = { 1,2,3,4,5,6 };
        for (int i = 0; i < 2; i++)
        {
                for (int j = 0; j < 3; j++)
                {
                        cout << array[j] << endl;
                }
        }
二维数组  第四种方式  数据类型,数组名【】【列数】={数据1,数据2,数据3,数据4,数据5,数据6}

int array3[][3] = { 1,2,3,4,5,6 }; // array3[][3]   括号里行数没写
        for (int i = 0; i < 2; i++)
        {
                for (int j = 0; j < 3; j++)
                {
                        cout << array3[j] << endl;
                }
        }
        for (int i = 0; i < 2; i++)
        {
                for (int j = 0; j < 3; j++)
                {
                        cout << array3[j] << endl;
                }
        }

总结 :1一维数组里面的冒泡排序和元素逆置值得学习

评分

参与人数 2驿站币 +17 热心值 +5 收起 理由
58_avatar_small thzzl + 2 + 2 很给力!
75_avatar_small wl1383838438 + 15 + 3 赞一个!

查看全部评分





上一篇:跟我一起学习零基础自学c++入门学到废
下一篇:c++学习之路的点滴记录(利用基础语法)打造通讯录系统,大牛飘过
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2021-4-23 05:05

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表