zoukankan      html  css  js  c++  java
  • 数组

    0.展示PTA总分(0----2)

    1.本章学习总结(3分)

    1.1 学习内容总结

    数组中如何查找数据,有哪些做法

    1. 折半查找法:针对有序数
    2. 顺序查找法:其执行的操作从数据序列中的第1 个元素开始,从头到尾依次逐个查找,直到找到所要的数据或搜索完整个数据序列。顺序查找主要针对少量的、无规则的数据。

    数组中如何插入数据,怎么做,可以写个伪代码或动态图展示方法

    输入数据
    for(遍历数组)
       if(a[i]==date)
       index=i找到插入位置
       for(i=index;i<n;i++)将该位置以后的数据往后移一位
    end for
    输出更改后的数组
    

    数组中如何删除数据,这个有多种做法,请一一展示。

    1. 覆盖删除:从要删除的数开始到数组末尾,让数组前一位等于后一位,即数组左移,直接覆盖要删除的数字,还要考虑数组下标的特别情况。
    2. 当有重复数字时可以调用辅助数组,时间和空间转换。

    数组中目前学到排序方法,主要思路?

    1. 冒泡排序法:有n个数,则循环n-1趟,a[i]和a[i+1]比较。
    2. 选择排序法:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。

    数组做枚举用法,有哪些案例?

    枚举法:https://blog.csdn.net/wq3028/article/details/76204690】

    哈希数组用法,目前学过哪些案例,举例展示。

    哈希数组用法:https://blog.csdn.net/weixin_30577801/article/details/94830390?utm_medium=distribute.pc_feed_404.none-task-blog-BlogCommendFromMachineLearnPai2-10.nonecase&depth_1-utm_source=distribute.pc_feed_404.none-task-blog-BlogCommendFromMachineLearnPai2-10.nonecas

    字符数组、字符串特点及编程注意事项。

    1. 数组是指用来存放字符数据的数组。其定义的一般形式为: char 数组名[数据长度] 。字符数组用于存放字符或字符串,字符数组中的一个元素存放一个字符,它在内存中占用一个字节。
    2. 字符串常量就是用双引号括起来的字符序列,即一串字符,它有一个结束标志''。字符串的有效长度就是有效字符的个数。
      (1). 将字符串存入数组时,由于它有一个结束符'',数组长度至少是字符串的有效长度+1。如果数组长度大于字符串的有效长度+1,则数组中除了存入的字符串,还有其他内容,即字符串只占用了数组中的一部分。
      (2). 注意事项: 输入字符串时,需要事先设定一个输入结束符。一旦输入它,就表示字符串输入结束,并将输入结束符转换成字符串结束符''。

    2.PTA实验作业(7分)

    2.1 题目名1(3分)


    思路:1.跳过开头的空格
    2. 遇到单词的第一个字母计数加一并跳过一个单词的其他字符。
    3. 在跳过一个单词的其他字符是的时候,要判断句子有没有结束。
    4. 单词之间有多个空格的话,多于不计
    我的代码:
    同学的:

    #include<iostream>
    int main()
    {
    	char str[1001];
    	gets(str);
    	int count=0;
    	int i=0;
    	while(str[i]==' ') //跳过开头的空格
    		i++;
    	
    	while(str[i]!='')  //""是结束标识符 
    	{
    		if(str[i]!=' ')
    		{ 
    			count++;
    			while(str[i]!=' ') //跳过一个单词的其他字符
    			{
    				if(str[i]=='')  //判断句子有没有结束,这句很重要,漏掉后出现严重错误, 
    				break;
    				i++;	
    			}
    		}
    		else              //如果单词之间有多个空格的话,多于不计 
    		{
    			while(str[i]==' ' )
    				i++;	
    		}
    	}
    	std::cout<<count<<'
    ';
    	return 0;
    }
    

    我是请教室友才完成的,代码简单但容易出错。也容易忽略掉一些步骤。
    同学的代码思路很清晰,也容易明白,过程都比较清晰,注释也清楚,值得我学习。

    2.2 题目名2(2分)

    阅览室题目·

    和超星视频的比较

    超星视频:定义一个二维数组,存储借阅记录。定义多个数组。数据处理时,分装一个函数来实现功能。
    2.3 题目名3(2分)
    2.3.1 伪代码

    定义flag 
    输入字符串
    for (i = 0 to str[i] != '
    ' do
     (第一处为第一个字符是正负号时)
      end if
      if(如果是数字或者小数点的话判断下一位是否是小数点或者数字)
      end if
      else if(负数的判断 前一位是数字还是其他符号)
      else if(正数的判断 数字前一位是不是‘(’)
    end for
    

    2.3.2 代码截图
    还没有写出来,同学的代码

    #include<iostream>
    #include<cstring>
    using namespace std;
    int main(){
    	char s[50];
    	cin >> s;
    	int len = strlen(s),flag = 0;
    	for(int i = 0; i < len; i++){
    		if((s[i] >= '0' && s[i] <= '9') || s[i] == '.'){
    			if((s[i + 1] >= '0' && s[i + 1] <= '9') || s[i + 1] == '.')cout << s[i];
    			else cout << s[i] << "
    ";
    		}
    		else if(s[i] == '-' || s[i] == '+'){
    			if(s[i - 1] >= '0' && s[i - 1] <= '9')cout << s[i] << "
    " ;
    			else cout << s[i];
    		}
    		else cout << s[i] << "
    ";
    	}
    	return 0;
    } 
    
  • 相关阅读:
    四个通用分页存储过程(来源于www.codeproject.com)
    C#2.0 print winform 打印窗体数据试试
    C# 2.0 Graphics 画雪人
    [转]Asp.Net 上传大文件专题(1)概述:上传大文件的难点
    [转]Asp.Net 上传大文件专题(2)页面生成流程
    [转]C# 调用sql 2000存储过程
    [转]Asp.Net 上传大文件专题
    [转]Asp.Net 上传大文件专题(3)从请求流中获取数据并保存为文件[下]
    c#中调用Ffmpeg转换视频格式的问题
    [转]Asp.Net 上传大文件专题(3)从请求流中获取数据并保存为文件[上]
  • 原文地址:https://www.cnblogs.com/yang123789/p/14130755.html
Copyright © 2011-2022 走看看