转眼一年~~2023又到年底了,CSDN年度征文如约而至!不知不觉又在CSDN平台写了488篇博文,非常感谢CSDN提供的平台,同时也感谢关注和支持博主的粉丝们,在马上到来新的一年里,我会继续努力!也非常感谢这一年来认识的小伙伴,和他们交流过程中也学习和感悟了很多。
第一次写获奖感言:非常荣幸获得2023年博客之星第15名,这份荣誉不仅是对我博客质量的肯定,更是对我持续分享和学习的鼓励和鞭策,再次感谢CSDN对我的认可和支持。
高质量博文数467,占比95.7%
其他社区的证书:?
入门Rust语言编程,初步掌握Rust语言编程基础。
Rust链表:
struct Node {
? ? data: i32,
? ? next: Option<Box<Node>>,
}
impl Node {
? ? fn new(value: i32) -> Node {
? ? ? ? Node { data: value, next: None }
? ? }
}
struct LinkedList {
? ? head: Option<Box<Node>>,
}
impl LinkedList {
? ? fn new() -> LinkedList {
? ? ? ? LinkedList { head: None }
? ? }
}
代码:
struct Node {
data: i32,
next: Option<Box<Node>>,
}
impl Node {
fn new(value: i32) -> Node {
Node { data: value, next: None }
}
}
struct LinkedList {
head: Option<Box<Node>>,
}
impl LinkedList {
fn new() -> LinkedList {
LinkedList { head: None }
}
// 在链表头部添加一个新节点
fn add(&mut self, value: i32) {
let mut new_node = Box::new(Node::new(value));
new_node.next = self.head.take();
self.head = Some(new_node);
}
// 在链表尾部添加一个新节点
fn push(&mut self, value: i32) {
let new_node = Box::new(Node::new(value));
let mut curr = &mut self.head;
while let Some(node) = curr {
curr = &mut node.next;
}
*curr = Some(new_node);
}
// 删除尾节点,并返回该节点的数据
fn pop(&mut self) -> Option<i32> {
if self.head.is_none() {
return None;
}
if self.head.as_ref().unwrap().next.is_none() {
let data = self.head.take().unwrap().data;
return Some(data);
}
let mut curr = self.head.as_mut().unwrap();
while curr.next.as_ref().unwrap().next.is_some() {
curr = curr.next.as_mut().unwrap();
}
let data = curr.next.take().unwrap().data;
Some(data)
}
// 遍历链表,打印每个节点的数据
fn traverse(&self) {
let mut curr = &self.head;
while let Some(node) = curr {
print!("{}->", node.data);
curr = &node.next;
}
println!("nil");
}
}
fn main() {
let mut list = LinkedList::new();
list.traverse(); // 打印空链表 nil
list.add(1); // 在链表头部添加节点 1
list.traverse(); // 打印链表 1->nil
list.add(2); // 在链表头部添加节点 2
list.traverse(); // 打印链表 2->1->nil
list.add(3); // 在链表头部添加节点 3
list.traverse(); // 打印链表 3->2->1->nil
list.push(4); // 在链表尾部添加节点 4
list.traverse(); // 打印链表 3->2->1->4->nil
list.push(5); // 在链表尾部添加节点 5
list.traverse(); // 打印链表 3->2->1->4->5->nil
println!("{}", list.pop().unwrap()); // 删除尾节点,并输出节点数据
list.traverse(); // 打印链表 3->2->1->4->nil
println!("{}", list.pop().unwrap()); // 删除尾节点,并输出节点数据
list.traverse(); // 打印链表 3->2->1->nil
}
今年把电脑换成了MateStationX2023;手机换成了Mate60Pro+,妥妥的花粉。就是经济实力不允许,否则换一辆问界M9开开就好了。
2023年,CSDN在技术领域的影响力持续增强,凭借其丰富的资源、高质量的原创内容以及活跃的社区氛围,吸引了全球数十万的开发者。这一年中,CSDN网站在技术交流、人才培养、创新推动等方面取得了显著成就。
一、技术交流与分享?
二、人才培养与教育
三、创新推动与实践
随着技术的不断进步和社区的持续发展,CSDN网站将继续发挥其平台优势,助力中国技术社区的繁荣。在即将到来的2024年,我们期待CSDN在以下几个方面取得更大的突破:
目录
7. 经过一个月的刷题,上过答题榜Top1,也荣获过【学习达人榜】周榜、月榜双冠
完