学习日记[13]

更新於 2024/10/07閱讀時間約 8 分鐘

今天主要做了三件记忆深刻的事。

第一件事是双向表的创建,我设想的是两种方式。假设一个节点有两个指针,前面的称为before,后面的称为next。第一种方式就是before和next相互连接,这样我做了两个程序,都是因为过于混乱,两个相互赋值的语句让所有节点都一致,和头节点一样。所以似乎只有第二种方式才能建立,就是before之间相互连接,next之间相互连结。这样,before就是和next相反的操作——反向遍历。这种方式和前面一样,有向前连接和向后链接两种方式,下面就是代码。

package Linked_Double_Behind_Notfor_Nohead;

// next data before,这里的head和before是按照遍历顺序定的,从左到右为正,所以左边的next为头;相反,before是反向遍历,所以在后面;
class Node
{
Node next;
int data;
Node forward;
public Node(int data)
{
this.next = null;
this.forward = null;
this.data = data;
}
}
public class linked_Double_Notfor
{
private Node head;
private Node sec_head;
public linked_Double_Notfor()
{
this.head = null;
this.sec_head = null;
}
public void addList(int data)
{
Node newNode = new Node(data);
if(head == null)
{
head = newNode;
sec_head = newNode;
}
else
{
Node temp = head;
while(temp.next != null)
{
temp = temp.next;
}
temp.next = newNode;
newNode.forward = sec_head;
sec_head = newNode;
}
}
public void calculateSum()
{
int sum = 0;
Node current = head;
System.out.print("每一个值是:\n");
int i = 0;
while (current != null)
{
sum += current.data;
i++;
System.out.printf("%3d%c", current.data, i % 10 == 0 ? '\n' : 32);
current = current.next;
}
System.out.println("\n总和是:" + sum); // 打印总和
}
public static void main(String[] args)
{
linked_Double_Notfor text = new linked_Double_Notfor();
for(int i = 1 ; i <= 100 ; i++)
{
text.addList(i);
}
text.calculateSum();
}

}

这个是向后插入方法

package Linked_Double_Forward_Not_Nohead;



//创建节点类
class Node
{
//定义所需要的属性
Node before;
int data;
Node next;
//初始化节点
public Node(int data)
{
this.before = null;
this.data = data;
this.next = null;
}
}
//创建链表类
public class LinkedList
{
//属性创建
Node head;
Node tail;
//链表类的初始化
public LinkedList()
{
this.head = null;
this.tail = null;
}
//添加节点
public void add_Node(int data)
{
//创建新节点
Node newNode = new Node(data);
//验证链表是否存在,同时链接节点
if(head == null)
{
//如果不存在,我们就将新节点作为第一个节点
head = newNode;
tail = newNode;
}
else
{
//如果存在,就需要找到相应的位置进行链接
Node temp = head;
newNode.next = temp;
head = newNode;
temp.before = newNode;
}
}
//测试程序
public void calculateSum()
{
int sum = 0;
Node current = tail;
System.out.print("每一个值是:\n");
int i = 0;
while (current != null)
{
sum += current.data;
i++;
System.out.printf("%3d%c", current.data, i % 10 == 0 ? '\n' : 32);
current = current.before;
}
System.out.println("\n总和是:" + sum); // 打印总和
}
public static void main(String[] args)
{
LinkedList text = new LinkedList();
for(int i = 1 ; i <= 100 ; i++)
{
text.add_Node(i);
}
text.calculateSum();
}
}

这个是向前插入方式。

这两者之间其实差别挺大的。总体来说,这两种插入方式不适合单独来讲,每种方式里面都有另外一种方式的影子。最好还是用画图的方式理解,这是我的感悟,在做一件事情之前,必须把思路理清楚确保他是相对合理的,然后再按照这个思路去做。我就是太急忙了,这两个东西搞了近两小时,实在不应该。图一点更要清楚,图一定要清楚,图一定要清楚。

第二件事就是读了一篇随笔,蒙田的《论我们的行为变化多端》。这篇随笔里,蒙田所认为的人应该是行为的集合体,而不是个体的多重方面。这样看也不是不无道理,因为构成我们的是行为,所以即使做错了事也不会神化它,错了就必须改正,这样我们不会片面地看待一个人。蒙田说人的变化多端是人性中最普遍也是最劣质的特性,我们不能仅仅依据生活和外表简单的评判一个人。人的种种行为是在多方面的影响下由个人做出的应激性判断,这里可以是金钱、名利、理想等等。要评价一个人必须要探究其行动背后的能量来源,由一个人的本质延伸到评价。我是很赞同的,我个人的经历也是告诉我这样,行动是多变的,只有我们自己的内心是唯一的,我们内心的能量供给行为才是始终不变的,比如一些动物本能——饥饿,困倦或者是各种情绪。尽管在类似情境中,这些都会变化,但他们却总是存在而不是说有一天会消失,当然,这里考虑的是生前的事情。变得始终如一,所有的行动都是由内心世界自助供能而不是外界供能,像性恶论一样,通过内心的建设,净化令人厌恶的一切,最终死的时候是洁白一身。

第三件事就是体育课的突发奇想。昨天说过,大部分学科之间都是有联系的,这之中,体育是身体,是几乎所有行动的本源。所以上心还是有必要的。

各位,晚安。




    avatar-img
    0會員
    20內容數
    这个专题是我个人的学习日记,每日会更新,内容很乱,请多见谅。
    留言0
    查看全部
    avatar-img
    發表第一個留言支持創作者!
    你可能也想看
    Google News 追蹤
    Thumbnail
    *合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
    我太太在學校和學生家長媽媽聊天時,不小心將我的策略跟這位媽媽說,結果被她笑!她老公在台積電當工程師,之前她還有在工作時的身份是銀行理專!現在是全職媽媽!她說她看過太多了,眼看樓起,眼看樓塌,現在專心學佛,不貪婪,多方資產配置,只有少數在股市!有小賺幾千就很開心!看蠻開的,也好啦! 我的策略真的很簡
    Thumbnail
    回顧前兩年的已實現損益,從資料可看出 2021年我還是處於頻繁買賣的境界,小賺就賣,頻繁交易,所衍生出來的手續費、交易稅、買賣總金額都很大!這無形中都是損失(損失了手續費和交易稅,都被政府給賺走了),這是有形的,無形的還是後頭~視力、身體健康、陪伴家人的時間、心情情緒…。 2022年我已經慢慢轉變,
    何謂有效的溝通 學習在關係裡成長,不被自己的情緒困住 改變是成為更好的自己,而非迎合他人 有效的溝通方式 在關係中,溝通是很重要的一件事。但什麼樣的溝通才是有效的呢? 只求對方理解自己的溝通方式,究竟是強迫對方接受自己的需要,還是真的只是在表達自己的想法? 開始溝通前,我們都是抱持著想要對方理解我們
    DAY10 我溫柔地引導著自己的心智去相信內在的智慧 沒有任何人地事物能夠宰制我,因為我是心智的唯一思考者。 當我傾聽自己的想法時,我會溫柔引導心智去相信自己的內在智慧。 成長並綻放,將你在塵世的所有事務交託給你的神聖源頭。 一切安好。
    Thumbnail
    去年(2021)12月起,開始進修自媒體課程。 為了讓自己持續復習,免得過去學習的辛苦白廢,決定開始發表學習成果!這算是……..替自己舉辦『線上成果展』嗎?
    Thumbnail
    *合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
    我太太在學校和學生家長媽媽聊天時,不小心將我的策略跟這位媽媽說,結果被她笑!她老公在台積電當工程師,之前她還有在工作時的身份是銀行理專!現在是全職媽媽!她說她看過太多了,眼看樓起,眼看樓塌,現在專心學佛,不貪婪,多方資產配置,只有少數在股市!有小賺幾千就很開心!看蠻開的,也好啦! 我的策略真的很簡
    Thumbnail
    回顧前兩年的已實現損益,從資料可看出 2021年我還是處於頻繁買賣的境界,小賺就賣,頻繁交易,所衍生出來的手續費、交易稅、買賣總金額都很大!這無形中都是損失(損失了手續費和交易稅,都被政府給賺走了),這是有形的,無形的還是後頭~視力、身體健康、陪伴家人的時間、心情情緒…。 2022年我已經慢慢轉變,
    何謂有效的溝通 學習在關係裡成長,不被自己的情緒困住 改變是成為更好的自己,而非迎合他人 有效的溝通方式 在關係中,溝通是很重要的一件事。但什麼樣的溝通才是有效的呢? 只求對方理解自己的溝通方式,究竟是強迫對方接受自己的需要,還是真的只是在表達自己的想法? 開始溝通前,我們都是抱持著想要對方理解我們
    DAY10 我溫柔地引導著自己的心智去相信內在的智慧 沒有任何人地事物能夠宰制我,因為我是心智的唯一思考者。 當我傾聽自己的想法時,我會溫柔引導心智去相信自己的內在智慧。 成長並綻放,將你在塵世的所有事務交託給你的神聖源頭。 一切安好。
    Thumbnail
    去年(2021)12月起,開始進修自媒體課程。 為了讓自己持續復習,免得過去學習的辛苦白廢,決定開始發表學習成果!這算是……..替自己舉辦『線上成果展』嗎?