2019.11.28周报(赵博睿)

一.学习成果(概览)

这周学习了链表的基础,复习了插入排序,桶排序,选择排序,冒泡排序,学习了新的排序:选择排序,
复习了指针和数组,了解了字符串指针。

二.学习过程和细节

1.选择排序

选择排序是我接触的最难实现的排序,因为他还涉及到了递归的应用,但是很快,也蛮好理解的,就是代码实现上还挺困难的`
#include <stdio.h>
int a[100],n;
void quick(int left,int right)
{
int i,j,t,temp;
if(left>right)
return;
temp=a[left];//temp中存的就是基准数
i=left;
j=right;
while(i!=j)
{
while(a[j]>=temp&&i<j)
{
j–;
}
while(a[i]<=temp&&i<j)
{
i++;
}
if(i<j)
{
t=a[i];
a[i]=a[j];
a[j]=t;
}

}
a[left]=a[i];
a[i]=temp;

quick(left,i-1);
quick(i+1,right);

}
main()
{
int i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
quick(1,n);
for(i=1;i<=n;i++)
{
printf("%d\t",a[i]);
}
return 0;
}`

2.复习之前学过的排序

代码在这就不打出来了,主要是可以优化什么的,可以自己再想想

3.了解字符串指针

通过字符串指针来输出字符串。
指针标量每增减1,地址在字节的增减量d等于基类型字节数sizeof(type);

4.复习指针和数组

复习了通过指针访问数组元素

5.函数的传参相关方面的新知识

C语言在调用函数时,永远只能传值给函数
理解变量的生存期和作用域
调用函数时的圆括号里的逗号是标点符号,不是运算符:例:f(a,b)与f((a,
b))不同,后者传出一个参数,要先运算。
函数参数表中的数组实际上是指针

6.全局变量和本地变量

全局变量不推荐用,但是用的时候一定要小心,

7.链表的基础(自己简单实现)

代码:
#include <stdio.h>
#include <stdlib.h>

struct node
{
int data;
struct node *next;

};
int main()
{
struct node *head,*p,*q,*t;
int i,n,a;
scanf("%d",&n);
head=NULL;
for(i=1;i<=n;i++)
{
scanf("%d",&a);
p=(struct node *)malloc(sizeof(struct node));
p->next=NULL;
if(head==NULL)
{
head=p;
}
else
{
q->next=p;
}
q=p;
}
}
链表方面的知识还得学习,掌握的不是很好

三.自己的学习感受

感觉许多问题,都是在实践的时候发现的,所以觉得通过做题来发现自己的错误挺高效的

四.下一周学习的粗略计划

1.继续学链表

2.算法题多做一点,做完之后总结一下发生错误的原因

发布了5 篇原创文章 · 获赞 0 · 访问量 149

猜你喜欢

转载自blog.csdn.net/qq_45336632/article/details/103302848