硬核的知識也許不是每個工程師都能夠在職涯發展中完全運用到,但無論是本科系、轉職、自學成為工程師的朋友,都應該要知道,這些紮實的背景知識提早學習起來,在未來的日子裡,只有好沒有壞。
就透過本影片我的真實經驗分享,告訴你這些我在大學時期看似枯燥乏味的理論,其實就是程式設計內功,而日後沉睡已久的內功卻又恰巧的在職涯旅途中碰上用處。
章節:
00:00 學這些有用嗎
00:52 我與速成班的距離
04:45 業務增長後的影響
06:36 基本功知識科普
喜歡影片的話!可以幫忙點個喜歡以及分享、訂閱唷!😘
━━━━━━━━━━━━━━━━
⭐ 蝦皮賣場: https://shopee.tw/bboyceo
⭐ instagram (生活日常): https://www.instagram.com/niclin_tw/
⭐ Facebook (資訊分享): https://www.facebook.com/niclin.dev
⭐ Blog (技術筆記): https://blog.niclin.tw
⭐ Linkedin (個人履歷): https://www.linkedin.com/in/nic-lin
⭐ Github: https://github.com/niclin
⭐ Podcast: https://anchor.fm/niclin
━━━━━━━━━━━━━━━━
🌟 任何問題或合作邀約信箱: niclin0226@gmail.com
#資料結構 #演算法 #計算機概論 #前端 #後端 #工程師
「鏈 結 串 列 排序 c 語言」的推薦目錄:
- 關於鏈 結 串 列 排序 c 語言 在 在地上滾的工程師 Nic Youtube 的最佳解答
- 關於鏈 結 串 列 排序 c 語言 在 [問題] C語言Bubble Sort with linked-list - 看板C_and_CPP 的評價
- 關於鏈 結 串 列 排序 c 語言 在 Linked List Sort 的評價
- 關於鏈 結 串 列 排序 c 語言 在 W16-1 C Programming Linked List Part I #鏈結串列 ... - YouTube 的評價
- 關於鏈 結 串 列 排序 c 語言 在 你所不知道的C 語言: linked-list 和非連續記憶體存取 的評價
- 關於鏈 結 串 列 排序 c 語言 在 分享Linked List 全攻略(進階C 程式設計) - 軟體工程師板 的評價
- 關於鏈 結 串 列 排序 c 語言 在 z2x3c4v5bz/Learning--C_intro_4th_ed: 書籍「C 語言教學 ... 的評價
鏈 結 串 列 排序 c 語言 在 Linked List Sort 的推薦與評價
泡泡排序其實非常簡單,把每一個數字想像成一個泡泡,數字的大小就是泡泡的重量,越重的會沉在越下面,那如果每次我們都把最重的沉下去,做了一定次數 ... ... <看更多>
鏈 結 串 列 排序 c 語言 在 W16-1 C Programming Linked List Part I #鏈結串列 ... - YouTube 的推薦與評價
嗨囉! 歡迎來到進階 C語言 應用的課程影片這堂課主要會講解七個部分: (1) 鏈結 的概念(Concept) (2) 宣告 鏈結 (Define a linked list) (3) 搜尋 ... ... <看更多>
鏈 結 串 列 排序 c 語言 在 [問題] C語言Bubble Sort with linked-list - 看板C_and_CPP 的推薦與評價
各位大神好,
最近在學習C語言。
想要用linked-list寫bubble sort
這是我參考網路上的做法,最後有成功排序的程式碼
#include <stdio.h>
#include <stdlib.h>
struct node
{
int data;
struct node *next;
};
void printLinkedList(struct node *start);
void swap(struct node *node1, struct node *node2);
void bubbleSort(struct node *start);
// ================================================
int main()
{
int arry[10];
struct node *prev, *first = NULL, *current;
printf("Please type in the 01st number:");
scanf("%d", &arry[0]);
printf("Please type in the 02nd number:");
scanf("%d", &arry[1]);
printf("Please type in the 03rd number:");
scanf("%d", &arry[2]);
printf("Please type in the 04th number:");
scanf("%d", &arry[3]);
printf("Please type in the 05th number:");
scanf("%d", &arry[4]);
printf("Please type in the 06th number:");
scanf("%d", &arry[5]);
printf("Please type in the 07th number:");
scanf("%d", &arry[6]);
printf("Please type in the 08th number:");
scanf("%d", &arry[7]);
printf("Please type in the 09th number:");
scanf("%d", &arry[8]);
printf("Please type in the 10th number:");
scanf("%d", &arry[9]);
int i;
for (i = 0; i < 10; i++)
{
current = (struct node*)malloc(sizeof(struct node));
current -> data = arry[i];
if (i == 0)
{
first = current;
}
else
{
prev -> next = current;
}
current -> next = NULL;
prev = current;
}
printf("\n");
printf("List before sorting:");
printLinkedList(first);
printf("\n");
bubbleSort(first);
printf("List after sorting:");
printLinkedList(first);
printf("\n\n");
return 0;
}
// ================================================
void printLinkedList(struct node *start)
{
struct node *tmp = start;
while(tmp != NULL)
{
printf("%d,", tmp -> data);
tmp = tmp -> next;
}
}
// ------------------------------------------------
void swap(struct node *node1, struct node *node2)
{
int tmp = node2 -> data;
node2 -> data = node1 -> data;
node1 -> data = tmp;
}
// ------------------------------------------------
void bubbleSort(struct node *start)
{
struct node *startSort;
struct node *endSort = NULL;
int swapped;
if (start == NULL)
{
return;
}
do
{
swapped = 0;
startSort = start;
while (startSort -> next != endSort)
{
if (startSort -> data >= startSort -> next -> data)
{
swap(startSort, startSort -> next);
swapped = 1;
}
startSort = startSort -> next;
}
endSort = startSort;
}
while (swapped);
}
以下是我的問題,
我原本的做法在bubbleSort子程式沒有加入swapped這個參數(如下),
但是網路上找到的做法都有這種旗標。
想請問兩種是否只差在我會多執行幾次多餘的while (startSort -> next != endSort)?
還是說我的做法會有什麼bug呢??
謝謝大家~
void bubbleSort(struct node *start)
{
struct node *startSort;
struct node *endSort = NULL;
int swapped;
if (start == NULL)
{
return;
}
while(1)
{
startSort = start;
while (startSort -> next != endSort)
{
if (startSort -> data >= startSort -> next -> data)
{
swap(startSort, startSort -> next);
}
startSort = startSort -> next;
}
endSort = startSort;
if (endSort == start -> next)
{
break;
}
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.44.82.152 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1570504758.A.3A4.html
※ 編輯: airwaves (114.44.82.152 臺灣), 10/08/2019 11:22:21
※ 編輯: airwaves (114.44.82.152 臺灣), 10/08/2019 11:27:33
... <看更多>