C博客作业04--数组

| 这个作业属于哪个班级 | https://edu.cnblogs.com/campus/jmu/2020C |
| ---- | ---- | ---- |
| 这个作业的地址 | https://www.cnblogs.com/2077962954qqcom/p/14130252.html |
| 这个作业的目标 | 学习数组相关内容 |
| 姓名 | 王历 |

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


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

  • 数组中如何查找数据,有哪些做法
    当元素数量有限时,定义一个数组a[],假设这个数组中元素的下标为i,如果已经知道元素内容比如x,就可以通过条件语句if(a[i]==x)来判断和查找数据了;当元素数量较多时,可以使用二分法查找数据。
    二分法伪代码:
int binsearch(int a[], int n, int x)
{
int low, high, mid;
while(low <= high) do
取中间数a[mid]
if(x > a[mid]) low = mid+1;//右区间
else if(x < a[mid]) high = mid-1;//左区间
else return mid;
mid = (low + high) / 2
end while
return -1;//找不到
}
  • 数组中如何插入数据,怎么做
for i=0 to index - 1 do //往前找插入的位置
     查找插入的位置loc
end for
for i = n to loc + 1 do 
a[i] = a[i-1]
end for
a[loc] = x
  • 数组中目前学到排序方法,主要思路?
  1. 选择排序法:
    步骤:
    第一步:在未排序的n个数(a[0]~a[n-1])中找到最小数,将它与a[0]交换;
    第二步:在剩下未排序的n-1个数(a[1]~a[n-1])中找到最小数,将它与a[1]交换;
    ······
    第n-1步:在剩下未排序的两个数(a[n-2]~a[n-1])中找到最小数,将它与a[n-2]交换。
  2. 冒泡排序法:

  • 哈希数组用法,目前学过哪些案例,举例展示。
    目前学过使用哈希查找的案例有:重复数据、删除重复字符、A-B。

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

  • 字符串:
    字符串常量:用一对双引号括起来的字符序列,'\0' = 0 为结束符。
    字符串:一个特殊的一维字符数组。
    字符串需要用一维数组存储
    对字符串的操作===> 对字符数组的操作

2.PTA实验作业(7分)

2.1 题目名1(3分)

有重复的数据I

2.1.1 伪代码

        int num;
	int a[N];
	int i, j;
	int result[N];
      for i = 1 to num do
        for j = i+1 to num do 
          比较后面的数据是否与a[i]相等
             如果相等,输出“YES”
             否则输出“NO”
  return 0;

2.1.2 代码截图

2.1.3 找一份同学代码(尽量找思路和自己差距较大同学代码)比较,说明各自代码特点。

2.2 题目名2(2分)

找鞍点

2.2.1 伪代码

 int a[6][6], n;
 int i, j;
 for i=0 to n-1 do
 {
   for j=0 to n-1 do
    输入二维数组a[6][6]
 }
 遍历二维数组,找到鞍点
return 0;

2.2.2 代码截图


2.2.3 请说明和超星视频做法区别,各自优缺点。

超星视频中通过使用函数来找到鞍点所在的位置,这样的方法使得代码中嵌套要比不用函数少得多,更便于他人阅读。

2.3 题目名3(2分)

切分表达式

2.3.1 伪代码

char a[num];
int i;
for i=0 to a[i] != '\0' do
 if字符是数字或者小数点时
  {
    输出a[i]
    if数字后为运算符  换行
   }
 else
  {
    if(a[i]=='-'||a[i]=='+')
      {
        if加号或者减号前面出现( 或者什么都没有
            输出a[i]
         else 输出a[i]后换行
       }
      else
      {
        输出
       }
  }
return 0;

2.3.2 代码截图

2.3.3 请说明和超星视频做法区别,各自优缺点。

视频中的代码嵌套较少,思路清晰,不会让人觉得代码混乱。

posted @ 2020-12-13 21:17  网络2012王历  阅读(97)  评论(0编辑  收藏  举报