0
点赞
收藏
分享

微信扫一扫

初入CSDN《关于三个月前的懒人突然努力学编程这件事》个人博客的开始

践行数据分析 2022-04-01 阅读 57
c语言

一、自我介绍一下

一个来自江西的民办二本已经摆烂了两年的大二学生,在某一天突然开窍想要做出改变,于是在网上找了些视频学习,一开始还是没有那么自律的去做,但经过反复折腾到现在还是习惯了起来。

 

最开始接触的是c语言,于是在三个月的反复折磨后,现在也是成功坚持到了C语言的数据结构。

以下是最近刚学到的地方,写的一个共享栈(就当作一般CSDN文章里的代码,水一下)

#include<stdio.h>
#define Status int
#define OK 1
#define ERROR 0
#define MAXSIZE 50
typedef int ElemType;
typedef struct {
	ElemType data[MAXSIZE];
	int top0;
	int top1;
}SqDstack;
void InitStack(SqDstack *s) {
	s->top0 = -1;
	s->top1 = MAXSIZE;
}
Status Push(SqDstack* s, ElemType e, int stackNumber) {
	if (s->top0 + 1 == s->top1) {
		printf("栈满");
		return ERROR;
	}
	if (stackNumber == 0) {
		s->data[++s->top0] = e;
	}
	else if (stackNumber == 1) {
		s->data[--s->top1] = e;
	}
	return OK;
}

Status Pop(SqDstack* s, ElemType* e, int stackNumber,int n) {
	if (stackNumber == 0) {
		if (s->top0 == -1) {
			return ERROR;
		}
		*e = s->data[s->top0--];
	}
	else if (stackNumber == 1) {
		if (s->top1 == MAXSIZE) {
			return ERROR;
		}
		*e = s->data[s->top1++];
	}
	return OK;
}
Status Gettop(SqDstack *s,int stackNumber,int n) {
	if (stackNumber == 1) {
		if (s->top1 == MAXSIZE) {
			printf("栈为空");
			return ERROR;
		}
		while (s->top1 != MAXSIZE)
		printf("%d->", s->data[s->top1++]);
	}
	if (stackNumber == 0) {
		if (s->top0 == -1) {
			printf("栈为空");
			return ERROR;
		}
		while(s->top0 != -1)
		printf("%d->", s->data[s->top0--]);
	}
	return OK;
}


int main(void) {
	SqDstack s;
	int n, i,m;
	printf("请输入数的个数");
	scanf("%d", &n);
	InitStack(&s, n);
	for (i = 0; i < n; i++) {
		Push(&s, i, 0);
		Push(&s, n-i, 1);
	}
	printf("请输入需要查看的栈(1or0):");
	scanf("%d", &m);
	Gettop(&s,m,n);
}

二、接下来的目标

还是打算接下来把数据结构以及C++给学完学懂,迫于专业的压力,还得抽出时间学完python,当然现在的学习意愿还是比较高。

对于几年后的自己,现在也没啥概念,还是得等自己的能力上来再看看吧(我现在还是菜鸡)。

三、自己当下如何学习编程

学习的心态还是比较重要,切骄切躁。个人感觉目前编程对于一部分内容的知识体系建设还是挺重要的,以及要多做一些例题,在早时候时常出现编程题下不了手,能看懂别人的代码,但是自己却写不出来。

用自己的闲暇时间在草稿纸上写写也挺好的。

四、总结

编程的学习路上还是得持之以恒,多想多做。希望当我又开始变懒或者又开摆的时候,能看到我今天写的这些东西有点感悟吧。

最后小写一下

#include<stdio.h>
int main() {
	char bai;
	do{
		printf("你今天还摆烂吗?(Y or N)\n");
		scanf("%c", &bai);
		if (getchar() != '\n')
			return ' ';
		if (bai == 'N') {
			printf("冲!\n");
			return 0;
		}
		printf("不许摆烂!\n");
	} while (1);
}
举报

相关推荐

0 条评论