這周整體狀態沒有以前那麼好了,我自己也認識到了,今年最後這一段時間也要認真才行,不想像高中一樣留下悔恨,用陶淵明的一句話來自勉吧:識迷途其未遠,覺今是而昨非。
佇列與棧乙個鮮明的區別就是佇列是先進先出,棧是先進後出;形象的來說就是佇列是在食堂打飯,而棧是先把東西放到桶裡面,再取出東西的過程。
舉個回問字串的例子,判斷該字串是不是回文字串,「xyxyx」,「abcba」,這樣的字串就是回文字串。
想想,字串是回文字串說明他是乙個對稱的結構,如果他是奇數長那麼中間的·就不需要比較,如果或是偶數長,那麼每兩兩相比較,基於這個思路,我們可以先把字串的前一半壓入棧中,再依次壓出棧與後半部分進行比較。
**如下:
#include
#include
intmain()
if(top)
printf
("y");
else
printf
("y");
}
佇列是先進先出的思想,他只允許在佇列的首部進行刪除操作(出隊),在尾部進行插入(入隊),如果首位重合了說明該佇列中沒有元素,即為空佇列。
將一組數字第乙個數字放入結尾,第二個數字輸出,知道所有數字輸出,即輸入:6 3 1 7 5 8 9 2 4->輸出:6 1 5 9 4 7 2 8 3
#include
struct stu//定義結構體
intmain()
while
(q.head}
下階段在更加熟悉佇列與棧的應用
這週我了解了桶排序和快速排序,相對於氣泡排序,桶排序在浪費空間的基礎上,節約了時間,而快速排序則繼承了兩者的優點,既節約了時間又節約了空間。
將陣列下表作為來代替數字,通過陣列出現的次數來表示該數字出現的次數。
//這裡規定輸入的數都小於1000
#include
intmain()
/*或者可以:
int a[1001]=;
*///迴圈輸值
for(
int i=
0;i++i)
//迴圈輸出
for(
int i=
0;i<
1000
;++i)
}}
快速排序的出現是為了解決之前排序不能兼顧空間與時間的原因,快速排序的核心在於找到乙個參考,書上說的是基準數,通過這個基準數將數字分為兩個陣營,再繼續細分,直到排序結束。
話不多說,先上**:
#includeint main()
{ int n;
void quicksort(int l,int r);//申明函式
scanf("%d",&n);
for(int i=0;ir)
return;
temp=a[l];
i=l;
j=r;
while(i!=j)
{ //先右往左走
while(a[j]>=temp&&i快排有些地方還沒理解,寒假再衝!!!
這週還看了點檔案的有關內容,檔案分為文字和二進位制檔案,兩種劣性就像氣泡排序與快排一樣各有優劣。
看了檔案,感覺自己裡完成課設又進了一步…
這週看的檔案的輸入輸出,還要再終端下自己驗證,下週再整理…
2023年9月第三週
在本週我們學了hadoop的分布式安裝以及關於hadoop的hdfs檔案系統。同時還學習了jsp的四個隱含物件 輸入輸出物件 作用域通訊物件 servlet物件 錯誤物件 通過這些物件我們做了乙個登入介面,在wed目錄裡面建立了js子目錄,在其裡面建立check.js檔案,將其匯入到頁面中使用。這樣...
12月第三週
本週 繼續推進,在課題上卡住,耽誤了不少時間。有時候全神貫注未必是好事情,換換腦子,想想別的,反而有了新思路。好在最後問題總算被解決。配置vncserver 按照別人的教程配置之後,客戶端一直連線不上。原因 防火牆遮蔽了相應埠 區別兩個配置檔案 etc profile 和 bashrc bashrc...
2023年春季學期第三週作業
題目1.本週請大家完成上週挑戰作業的第一部分 給定乙個整數陣列 包含正負數 找到乙個具有最大和的子陣列,返回其最大的子陣列的和。例如 1,2,3,10,4,7,2,5 的最大子陣列為 3,10,4,7,2 輸入 請建立以自己英文名字命名的txt檔案,並輸入陣列元素數值,元素值之間用逗號分隔。輸出在不...