奇數的魔術方陣. Contribute to lilgcheng/C development by creating an account on GitHub. ... 最後節點下一個指向第一個節點形成環狀串列. tail->next = head;. ... <看更多>
環狀串列c 在 Linked List: 新增資料、刪除資料、反轉 的推薦與評價
C++ code #include <iostream> using std::cout; using std::endl; class LinkedList; ... 把整串list刪除 void Reverse(); // 將list反轉: 7->3->14 => 14->3->7 }; ... ... <看更多>
環狀串列c 在 你所不知道的C 語言: linked-list 和非連續記憶體存取 - Facebook 的推薦與評價
linked list (鏈結串列) 是C 語言程式開發者必定會接觸到的資料結構,貌似簡單卻暗藏多種挑戰,試想「如何對一個雙向鏈結串列 (doubly-linked… ... <看更多>
環狀串列c 在 [問題] 環狀鏈結串列合併- 看板C_and_CPP - 批踢踢實業坊 的推薦與評價
小妹我有小小的問題要請教大家,還請各位高手給予指教
開發平台(Platform): (Ex: VC++, Gcc, Linux, ...)
cpp
問題(Question):
新增環狀鏈結串列的三個操作函數:複製、反轉環狀串列和『將兩個環狀串列連接起來』
已經做出複製跟反轉,但是不知道要怎麼將兩個串列連接起來
預期的正確結果(Expected Output):
原始的串列:[9][8][7][6][5][4]
反轉後的串列:[4][5][6][7][8][9]
兩個環狀串列連接起來:[9][8][7][6][5][4][4][5][6][7][8][9]
程式碼(Code): (請善用置底文標色功能)
#include <stdio.h>
#include <stdlib.h>
struct list{
int data;
struct list *next;
};
typedef struct list Node;
typedef Node *List;
Node *begin=NULL;
Node *last=NULL;
void createList(int len, int *array) {
List last; /* 最後一個節點的指標 */
List newnode;
int i;
for ( i = 0; i < len; i++ ) {
/* 配置節點記憶體 */
newnode = (List) malloc(sizeof(Node));
newnode->data = array[i]; /* 建立節點內容 */
if ( i == 0 ) last = newnode; /* 指向最後一個節點 */
newnode->next = begin;
begin = newnode;
}
last->next = begin; /* 連結第1個節點, 建立環狀串列 */
}
void printList() {
List current = begin; /* 目前的串列指標 */
do { /* 顯示主迴圈 */
printf("[%d]", current->data);
current = current->next; /* 下一個節點 */
} while ( current != begin );
printf("\n");
}
Node * reverse(Node * head)
{
Node *mid_node, *last_node;
last=head;
mid_node=NULL;
while(head!=NULL)
{
last_node=mid_node;
mid_node=head;
head=head->next;
mid_node->next=last_node;
}
return(last_node);
return(mid_node);
}
int main(void)
{
int temp; /* 宣告變數 */
int data[6] = { 4, 5, 6, 7, 8, 9 }; /* 建立串列的陣列 */
List ptr;
/* 建立, 走訪與搜尋環狀串列 */
createList(6, data); /* 建立環狀串列 */
printf("原來的串列: ");
printList(); /* 顯示串列 */
printf("反轉後的串列:" );
begin=reverse(begin);
printList();
system("PAUSE");
return 0;
}
--
大布丁
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.131.95.173
... <看更多>