我的256创作纪念日

这篇具有很好参考价值的文章主要介绍了我的256创作纪念日。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

机缘

  挺开心的,想到自己未曾写过一些非技术类的博客,恰巧今天刚好也是我的256创作纪念日,就乘着这个日子,写一点自己过去的收获、内心的想法和对未来的展望吧。

  本人不才,只就读于一所民办本科之中,我挺不想说“高考失利”这几个字。在我看来,水平、心态、运气等都会影响到一个人,有的东西是很难用一个词语去进行概括的。当初也是权衡了很多的层面,选择了计算机专业,开始去尝试自学很多东西,也了解到了CSDN,成为CSDN中的一员,也开始尝试去发表自己写的一些拙劣的文章。

  当初发表文章也可能只是为了好玩或者是图个新鲜,感觉自己成为一名博客写手是会挺有成就感的。倏忽而逝,离我发表的第一篇文章也有了256天。


收获

  确实,写博客可以带给我很多东西,在写博客的时候,本身就是对自身知识的补充和提高,写博客也提高自己的专注度,写博客本就是一种心流的过程。每次完成博客并且发表的时候都挺有成就感的。

  也是有了正向反馈,写博客这件事情能够更好的坚持下去。虽然我和别人也有很大的差距,但是继续加油,不断积累,持续努力。
我的256创作纪念日


日常

  毕竟是计科专业的,写博客和学习之间也到没有什么冲突,不过希望自己以后也要多多尝试新的东西,多去试错,也要多去接交新的朋友,学习新的东西。

  前段日子去的鸡鸣寺,南京真的是一座很漂亮的城市。
我的256创作纪念日


成就

  我自身的水平仍有限,很难说有什么是可以称得上写的好的代码,这里就贴个来自网上学习的各种数据结构实现的代码吧。看到自己能够实现数据结构并且能够以自己期望的方式在内存中储存,好像就在和计算机交流一样,挺有成就感的。(这里水亿点字数)

//链表

#include"SList.h"

void SLTPrint(SLTNode* phead)
{
	assert(phead);

	/*while (phead)
	{
		printf("%d->", phead->data);
		phead = phead->next;
	}*/

	SLTNode* cur = phead;
	while (cur)
	{
		printf("%d->", cur->data);
		cur = cur->next;
	}
	printf("NULL\n");
}

SLTNode* BuySLTNode(SLTDataType x)
{
	SLTNode* newnode = (SLTNode*)malloc(sizeof(SLTNode));
	if (newnode == NULL)
	{
		perror("malloc fail");
		return NULL;
	}

	newnode->data = x;
	newnode->next = NULL;

	return newnode;
}

void SLTPushBack(SLTNode** pphead, SLTDataType x)
{
	assert(pphead);

	SLTNode* newnode = BuySLTNode(x);
	
	if (*pphead == NULL)
	{
		*pphead = newnode;
	}
	else
	{
		SLTNode* tail = *pphead;
		while (tail->next)
		{
			tail = tail->next;
		}

		tail->next = newnode;
	}
}

void SLTPushFront(SLTNode** pphead, SLTDataType x)
{
	assert(pphead);

	SLTNode* newnode = BuySLTNode(x);
	newnode->next = *pphead;
	*pphead = newnode;
}

void SLTPopBack(SLTNode** pphead)
{
	assert(pphead);
	assert(*pphead);

	if ((*pphead)->next==NULL)
	{
		free(*pphead);
		*pphead = NULL;
	}
	else
	{

		SLTNode* tail = *pphead;
		while (tail->next->next != NULL)
		{
			tail = tail->next;
		}

		free(tail->next);
		tail->next = NULL;
	}
}

void SLTPopFront(SLTNode** pphead)
{
	assert(pphead);
	assert(*pphead);

	SLTNode* first = *pphead;
	*pphead = first->next;
	free(first);
	first = NULL;
}

SLTNode* SLTFind(SLTNode* phead, SLTDataType x)
{
	SLTNode* cur = phead;
	while (cur)
	{
		if (cur->data == x)
		{
			return cur;
		}

		cur = cur->next;
	}

	return NULL;
}

void SLTInsert(SLTNode** pphead, SLTNode* pos, SLTDataType x)
{
	assert(pphead);
	assert(pos);

	if (*pphead == pos)
	{
		SLTPushFront(pphead, x);
	}
	else
	{
		SLTNode* prev = *pphead;
		while (prev->next != pos)
		{
			prev = prev->next;
		}

		SLTNode* newnode = BuySLTNode(x);
		prev->next = newnode;
		newnode->next = pos;
	}
}

void SLTErase(SLTNode** pphead, SLTNode* pos)
{
	assert(pphead);
	assert(pos);

	if (*pphead == pos)
	{
		SLTPopFront(pphead);
	}
	else
	{
		SLTNode* prev = *pphead;
		while (prev->next != pos)
		{
			prev = prev->next;
		}

		prev->next = pos->next;
		free(pos);
	}
}
//栈

void STPrint(ST* ps)
{
	assert(ps);

	if (ps->top==0)
	{
		printf("该栈为空栈\n");
	}
	else
	{
		printf("该栈中的元素为:");
		
		for (int i = 0; i < ps->top; i++)
		{
			printf("%d ", ps->a[i]);
		}

		printf("\n");
	}
}

void STInit(ST* ps)
{
	assert(ps);

	STDataType* tmp = (STDataType*)malloc(sizeof(STDataType) * 4);
	if (NULL == tmp)
	{
		perror("maloc fail");
		return;
	}

	ps->a = tmp;
	ps->capacity = 4;
	ps->top = 0;//top是栈的下一个元素
}

void STDestroy(ST* ps)
{
	assert(ps);

	free(ps->a);
	//注意让野指针为NULL
	ps->a = NULL;
	ps->capacity = 0;
	ps->top=0;
}

void STPush(ST* ps, STDataType x)
{
	assert(ps);

	if (ps->capacity == ps->top)
	{
		STDataType* tmp = (STDataType*)realloc(ps->a, sizeof(STDataType) * ps->capacity * 2);
		if (tmp == NULL)
		{
			perror("realloc fail");
			return;
		}

		ps->a = tmp;
		ps->capacity *= 2;
	}

	ps->a[ps->top] = x;
	ps->top++;
}

void STPop(ST* ps)
{
	assert(ps);

	ps->top--;
}

int STSize(ST* ps)
{
	assert(ps);

	return ps->top;
}

bool STEmpty(ST* ps)
{
	assert(ps);

	return (ps->top) == 0;
}

STDataType STTop(ST* ps)
{
	assert(ps);
	assert(!STEmpty(ps));

	return ps->a[ps->top-1];
}
//二叉树

#include<stdio.h>
#include<assert.h>
#include<stdlib.h>


typedef int BTDataType;

typedef struct BinaryTreeNode
{
	BTDataType data;
	struct BinaryTreeNode* left;
	struct BinaryTreeNode* right;
}BTNode;

BTNode* BuyNode(BTDataType x)
{
	BTNode* node = (BTNode*)malloc(sizeof(BTNode));
	if (NULL == node)
	{
		perror("malloc fail");
		return;
	}

	node->data = x;
	node->left = NULL;
	node->right = NULL;
	return node;
}

BTNode* CreatTree()
{
	BTNode* node1 = BuyNode(1);
	BTNode* node2 = BuyNode(2);
	BTNode* node3 = BuyNode(3);
	BTNode* node4 = BuyNode(4);
	BTNode* node5 = BuyNode(5);
	BTNode* node6 = BuyNode(6);
	BTNode* node7 = BuyNode(7);


	node1->left = node2;
	node1->right = node4;
	node2->left = node3;
	node4->left = node5;
	node4->right = node6;
	node2->right = node7;

	return node1;
}

// 二叉树前序遍历
void PreOrder(BTNode* root)
{
	if (root == NULL)
	{
		printf("NULL ");
		return;
	}

	printf("%d ", root->data);
	PreOrder(root->left);
	PreOrder(root->right);
}

// 二叉树中序遍历
void InOrder(BTNode* root)
{
	if (root == NULL)
	{
		printf("NULL ");
		return;
	}

	InOrder(root->left);
	printf("%d ", root->data);
	InOrder(root->right);
}

// 二叉树后序遍历
void PostOrder(BTNode* root)
{
	if (root == NULL)
	{
		printf("NULL ");
		return;
	}

	PostOrder(root->left);
	PostOrder(root->right);
	printf("%d ", root->data);
}

// 二叉树节点个数
int BinaryTreeSize(BTNode* root)
{
	return root == NULL ? 0 : BinaryTreeSize(root->left) + BinaryTreeSize(root->right) + 1;
}

int BinaryTreeHeight(BTNode* root)
{
	if (NULL == root)
		return 0;

	int leftHeight = BinaryTreeHeight(root->left);
	int rightHeight = BinaryTreeHeight(root->right);

	return leftHeight > rightHeight ? leftHeight + 1 : rightHeight + 1;
}

// 二叉树叶子节点个数
int BinaryTreeLeafSize(BTNode* root)
{

}

// 二叉树第k层节点个数
int BinaryTreeLevelKSize(BTNode* root, int k);

// 二叉树查找值为x的节点
BTNode* BinaryTreeFind(BTNode* root, BTDataType x)
{
	if (root == NULL)
		return NULL;

	if (root->data == x)
		return root;

	int lret = BinaryTreeFind(root->left, x);
	if (lret)
		return lret;

	int rret = BinaryTreeFind(root->right, x);
	if (rret)
		return rret;

	return NULL;
}

int main()
{
	BTNode* root = CreatTree();
	PreOrder(root);
	printf("\n");

	InOrder(root);
	printf("\n");

	PostOrder(root);
	printf("\n");

	int size = BinaryTreeSize(root);
	printf("该树一共有结点%d:个\n", size);

	int height = BinaryTreeHeight(root);
	printf("该树的树高为:%d\n", height);

	BTNode* ret = BinaryTreeFind(root, 3);
	printf("结点为3的二叉树结点地址为:%p\n", ret);

	return 0;
}

憧憬

  我们无法改变过去,也不能够预知未来,所有我们只能把握当下。对于过去已定的事实,我们无法做出改变。大可不必焦虑,更不必有负罪感,与其关注这种心理状态,不如去做些别的事情,去看一看在收藏夹中但从未点击过的电影,去尝一尝一直很想吃的店铺,来一趟说走就走的旅行…

  希望自己可以把握当下, 做好当前的事情;即使无法卓越,但要不断努力,持续进步,争取在未来看到更好的自己。

  “沉舟侧畔千帆过,病树前头万木春。”文章来源地址https://www.toymoban.com/news/detail-486166.html

到了这里,关于我的256创作纪念日的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 我的1024创作纪念日

    文章底部有个人公众号: 热爱技术的小郑 。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。        起初我并没有写博客这个习惯,基本上都是遇到问题

    2024年02月06日
    浏览(28)
  • 我的1827创作纪念日

    习惯性早上打开电脑,看看CSDN上的资讯,了解行业动态、当前新的技术和大佬的分享。自己动手写应该是2019 年 01 月 08 日,当时应该是在用安装和使用Oracle,遇到一些问题,写下第一篇博客 Oracle存储过程常见问题及解决方法,转眼已过去五年,同时也是参加工作的第五年,

    2024年01月16日
    浏览(26)
  • 我的创作纪念日——512

    没想到不知不觉在CSDN创作就 512 天了,想到一开始就仅仅想在CSDN记笔记,到现在成为一个小博主,认识到了很多志同道合的伙伴,中间创作我也曾经懒惰过,放弃过,但我一次又一次重新进行创作,虽然我是上了大学才开始了解程序员,成为程序员(可能现在还不合格),但

    2024年02月11日
    浏览(36)
  • 我的创作纪念日(划水...)

    提示:可以和大家分享最初成为创作者的初心 例如: 实战项目中的经验分享 日常学习过程中的记录 通过文章进行技术交流 … 提示:在创作的过程中都有哪些收获 例如: 获得了多少粉丝的关注 获得了多少正向的反馈,如赞、评论、阅读量等 认识和哪些志同道合的领域同行

    2023年04月25日
    浏览(33)
  • 【人生历程】我的创作纪念日

    目录 与编程不得不说的爱恨情仇 在csdn的收获: 与csdn的日常 在平凡的日子偶然的成就感: 对未来的憧憬: 今天是2023.4.8号,早上的刚刚参加完蓝桥杯,下午看到csdn官方的活动,心血来潮写下以下内容,如有不适或者错误请见谅。 在2021我成功摆脱了高中生这个身份,我称为

    2023年04月09日
    浏览(26)
  • 我的创作纪念日(128天)

    今天,我像往常一样打开CSDN 网站,随即弹出的两则官方私信: 我这才意识到,从去年的11月27日到现在,时光荏苒,已是128天之久。 下面我向各位看分享一下我在CSDN创作的经历和收获,以及我的一些个人感受。(ps:故事有点长严`( ﹏ )′) 我最早接触CSDN社区,起始于201

    2023年04月22日
    浏览(30)
  • 我的创作纪念日-哈市雪花

    2018年4月13写了第一篇博客,在此之前也在用CSDN,但更多的是查阅资料,学习技术。在这之前也写过技术文章,记得最开始是在知乎上发表的,终于那一天在微博上看到大佬转换笑脸动画表情的实现思路,一时兴起用WPF实现了下,然后把文章发表在了CSDN上。 文章总是有意义的

    2023年04月16日
    浏览(27)
  • 创作纪念日-我的第1024天

    不知不觉已经成为创作者的第1024天啦… … 刚开始接触博客的初衷就是为了记笔记📒、记总结📝,或许对于当时就等同于是为了找工作。 坚持学习并持续输出博客一年后,这时我发现再写博客,不在是为了找一份工作,已经变成一种习惯!一种成长型心态! 接着一年、两年

    2024年02月10日
    浏览(22)
  • 我的创作纪念日(730天)

    不知不觉来到CSDN已经730天了,这两年来我收获丰富,从原本的只是从CSDN获取知识,到现在的传播知识,我感觉受益良多,一年多的沉淀,让我在这三个月中绽放,粉丝也从原本的两位数到现在的四千+,学习中记笔记是我养成的习惯,自己总结的东西总觉得很适合自己记忆。

    2024年01月17日
    浏览(28)
  • 【公告】我的两年创作纪念日

    一开始我是想在CSDN发一些自己做的小游戏 后来收获了很多粉丝便持续发游戏了 在CSDN我遇见了很多志同道合的朋友 学到了很多的知识 在初一时,我的电脑时间少了很多(只有周末能用,共计1小时) 又在学UE5这样很费时间的游戏引擎 便停止了发游戏 现在我在制作一个3D游戏

    2024年02月14日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包