具體要求:
標頭檔案:
#pragma once
#include#include#includetypedef int datatype;
typedef struct node
*pnode,node;
void parityrearrangement(pnode *phead);//將所有奇節點放在偶數節點的前面
void reversenode(pnode *phead);//將所有奇數節點反轉,將所有偶數節點反轉
**實現:
void parityrearrangement(pnode *phead)//將所有奇節點放在偶數節點的前面
else//鍊錶有多個元素
curnode = curnode->next;
}tailnode = curnode;
if(flag == 0)
break;
} }}void reversenode(pnode *phead)//將所有奇數節點反轉,將所有偶數節點反轉
*phead = prenode;
curnode = curnode->next;
prenode = buynode(curnode->data);
while(curnode && ((curnode->next->data%2) == 0))//反轉偶數節點
tailnode->next = prenode;
}
測試部分:
#include"linklist.h"
void test10()
int main()
奇數字公升序偶數字降序的鍊錶進行排序
這道題可以分成三步 首先根據奇數字和偶數字拆分成兩個鍊錶。然後對偶數鍊錶進行反轉。最後將兩個有序鍊錶進行合併 合併兩種實現方式一種是遞迴另外一種是非遞迴 class node public static void main string args public static node init pu...
第三週專案4 順序表應用 將所有奇數移到偶數前面
檔名稱 1.cpp 完成日期 2016年9月22日 版本號 v1.0 問題描述 將所在奇數移到所有偶數的前面,要求演算法的時間複雜度為o n 空間複雜度為o 1 輸入描述 線性表長度 線性表中各元素 程式輸出 調整順序後的線性表 list.h define maxsize 100 typedef i...
移除鍊錶元素 刪除所有val的節點
如圖我們要刪除值為val的所有元素 我的思路 1.出於空間複雜度的考慮我們這只例項化乙個節點node用來當作刪除後鍊錶的頭節點 2.我們用node1 node記錄頭節點 3.當head null時我們判斷head.val vall如果是true 則使node.next head.next 4.否則 ...