This commit is contained in:
2018-06-17 14:30:24 +08:00
parent bbc06c4132
commit cfceb31582
8 changed files with 235 additions and 160 deletions

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/main.cpp" charset="GB2312" />
<file url="file://$PROJECT_DIR$/main.cpp" charset="UTF-8" />
</component>
</project>

229
sort/.idea/workspace.xml generated
View File

@@ -31,36 +31,30 @@
<file leaf-file-name="main.cpp" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/main.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="203">
<caret line="14" column="26" lean-forward="true" selection-start-line="14" selection-start-column="26" selection-end-line="14" selection-end-column="26" />
<state relative-caret-position="549">
<caret line="280" column="1" selection-start-line="280" selection-start-column="1" selection-end-line="280" selection-end-column="1" />
<folding>
<element signature="e#0#17#0" expanded="true" />
<element signature="e#284#443#0" expanded="true" />
<element signature="e#1159#1192#0" expanded="true" />
<element signature="e#1344#1361#0" expanded="true" />
<element signature="e#1420#1430#0" expanded="true" />
<element signature="e#1647#1664#0" expanded="true" />
<element signature="e#1707#1720#0" expanded="true" />
<element signature="e#1814#1831#0" expanded="true" />
<element signature="e#1951#1968#0" expanded="true" />
<element signature="e#2041#2074#0" expanded="true" />
<element signature="e#2296#2312#0" expanded="true" />
<element signature="e#2476#2489#0" expanded="true" />
<element signature="e#2564#2604#0" expanded="true" />
<element signature="e#2662#2678#0" expanded="true" />
<element signature="e#2744#2777#0" expanded="true" />
<element signature="e#3024#3039#0" expanded="true" />
<element signature="e#3118#3157#0" expanded="true" />
<element signature="e#3226#3243#0" expanded="true" />
<element signature="e#3419#3432#0" expanded="true" />
<element signature="e#3701#3734#0" expanded="true" />
<element signature="e#3802#3818#0" expanded="true" />
<element signature="e#3939#3955#0" expanded="true" />
<element signature="e#4186#4199#0" expanded="true" />
<element signature="e#4339#4372#0" expanded="true" />
<element signature="e#5203#5224#0" expanded="true" />
<element signature="e#5524#5545#0" expanded="true" />
<element signature="e#5579#5714#0" expanded="true" />
<element signature="e#201#258#0" expanded="true" />
<element signature="e#1161#1194#0" expanded="true" />
<element signature="e#1346#1363#0" expanded="true" />
<element signature="e#1422#1432#0" expanded="true" />
<element signature="e#1649#1666#0" expanded="true" />
<element signature="e#1816#1833#0" expanded="true" />
<element signature="e#1953#1970#0" expanded="true" />
<element signature="e#2043#2076#0" expanded="true" />
<element signature="e#2298#2314#0" expanded="true" />
<element signature="e#2566#2606#0" expanded="true" />
<element signature="e#2664#2680#0" expanded="true" />
<element signature="e#2746#2779#0" expanded="true" />
<element signature="e#3026#3041#0" expanded="true" />
<element signature="e#3120#3159#0" expanded="true" />
<element signature="e#3228#3245#0" expanded="true" />
<element signature="e#3703#3736#0" expanded="true" />
<element signature="e#3804#3820#0" expanded="true" />
<element signature="e#3941#3957#0" expanded="true" />
<element signature="e#4341#4374#0" expanded="true" />
<element signature="e#5846#5981#0" expanded="true" />
</folding>
</state>
</provider>
@@ -148,19 +142,19 @@
<updated>1527738192587</updated>
<workItem from="1527738193917" duration="6164000" />
<workItem from="1527905393111" duration="6670000" />
<workItem from="1527989852073" duration="3473000" />
<workItem from="1528040208763" duration="112000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="12834000" />
<option name="totallyTimeSpent" value="16419000" />
</component>
<component name="ToolWindowManager">
<frame x="-6" y="-6" width="1381" height="885" extended-state="6" />
<editor active="true" />
<layout>
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.17264082" />
<window_info content_ui="combo" id="Project" order="0" weight="0.25905597" />
<window_info anchor="bottom" id="TODO" order="6" />
<window_info anchor="bottom" id="Messages" weight="0.6675291" />
<window_info anchor="bottom" id="CMake" order="7" />
<window_info anchor="bottom" id="Event Log" order="7" side_tool="true" />
<window_info anchor="bottom" id="Version Control" order="7" show_stripe_button="false" />
@@ -171,11 +165,12 @@
<window_info anchor="bottom" id="Debug" order="3" weight="0.461837" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
<window_info anchor="bottom" id="Find" order="1" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info anchor="bottom" id="Messages" order="7" weight="0.6675291" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Find" order="1" />
</layout>
</component>
<component name="TypeScriptGeneratedFilesManager">
@@ -186,10 +181,76 @@
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<option name="time" value="6" />
<option name="time" value="7" />
</breakpoint-manager>
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/CMakeLists.txt">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/main.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="145">
<caret line="5" column="2" selection-start-line="5" selection-start-column="2" selection-end-line="5" selection-end-column="2" />
<folding>
<element signature="e#0#17#0" expanded="true" />
<element signature="e#201#258#0" expanded="true" />
<element signature="e#1161#1194#0" expanded="true" />
<element signature="e#1346#1363#0" expanded="true" />
<element signature="e#1422#1432#0" expanded="true" />
<element signature="e#1649#1666#0" expanded="true" />
<element signature="e#1816#1833#0" expanded="true" />
<element signature="e#1953#1970#0" expanded="true" />
<element signature="e#2043#2076#0" expanded="true" />
<element signature="e#2298#2314#0" expanded="true" />
<element signature="e#2566#2606#0" expanded="true" />
<element signature="e#2664#2680#0" expanded="true" />
<element signature="e#2746#2779#0" expanded="true" />
<element signature="e#3026#3041#0" expanded="true" />
<element signature="e#3120#3159#0" expanded="true" />
<element signature="e#3228#3245#0" expanded="true" />
<element signature="e#3703#3736#0" expanded="true" />
<element signature="e#3804#3820#0" expanded="true" />
<element signature="e#3941#3957#0" expanded="true" />
<element signature="e#4341#4374#0" expanded="true" />
<element signature="e#5846#5981#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/CMakeLists.txt">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/main.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="406">
<caret line="14" column="26" lean-forward="true" selection-start-line="14" selection-start-column="26" selection-end-line="14" selection-end-column="26" />
<folding>
<element signature="e#0#17#0" expanded="true" />
<element signature="e#201#258#0" expanded="true" />
<element signature="e#1161#1194#0" expanded="true" />
<element signature="e#1346#1363#0" expanded="true" />
<element signature="e#1422#1432#0" expanded="true" />
<element signature="e#1649#1666#0" expanded="true" />
<element signature="e#1816#1833#0" expanded="true" />
<element signature="e#1953#1970#0" expanded="true" />
<element signature="e#2043#2076#0" expanded="true" />
<element signature="e#2298#2314#0" expanded="true" />
<element signature="e#2566#2606#0" expanded="true" />
<element signature="e#2664#2680#0" expanded="true" />
<element signature="e#2746#2779#0" expanded="true" />
<element signature="e#3026#3041#0" expanded="true" />
<element signature="e#3120#3159#0" expanded="true" />
<element signature="e#3228#3245#0" expanded="true" />
<element signature="e#3703#3736#0" expanded="true" />
<element signature="e#3804#3820#0" expanded="true" />
<element signature="e#3941#3957#0" expanded="true" />
<element signature="e#4341#4374#0" expanded="true" />
<element signature="e#5846#5981#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/CMakeLists.txt">
<provider selected="true" editor-type-id="text-editor" />
</entry>
@@ -199,32 +260,26 @@
<caret line="120" column="16" lean-forward="true" selection-start-line="120" selection-start-column="16" selection-end-line="120" selection-end-column="16" />
<folding>
<element signature="e#0#17#0" expanded="true" />
<element signature="e#284#443#0" expanded="true" />
<element signature="e#1159#1192#0" expanded="true" />
<element signature="e#1344#1361#0" expanded="true" />
<element signature="e#1420#1430#0" expanded="true" />
<element signature="e#1647#1664#0" expanded="true" />
<element signature="e#1707#1720#0" expanded="true" />
<element signature="e#1814#1831#0" expanded="true" />
<element signature="e#1951#1968#0" expanded="true" />
<element signature="e#2041#2074#0" expanded="true" />
<element signature="e#2296#2312#0" expanded="true" />
<element signature="e#2476#2489#0" expanded="true" />
<element signature="e#2564#2604#0" expanded="true" />
<element signature="e#2662#2678#0" expanded="true" />
<element signature="e#2744#2777#0" expanded="true" />
<element signature="e#3024#3039#0" expanded="true" />
<element signature="e#3118#3157#0" expanded="true" />
<element signature="e#3226#3243#0" expanded="true" />
<element signature="e#3419#3432#0" expanded="true" />
<element signature="e#3701#3734#0" expanded="true" />
<element signature="e#3802#3818#0" expanded="true" />
<element signature="e#3939#3955#0" expanded="true" />
<element signature="e#4186#4199#0" expanded="true" />
<element signature="e#4339#4372#0" expanded="true" />
<element signature="e#5203#5224#0" expanded="true" />
<element signature="e#5524#5545#0" expanded="true" />
<element signature="e#5579#5714#0" expanded="true" />
<element signature="e#201#258#0" expanded="true" />
<element signature="e#1161#1194#0" expanded="true" />
<element signature="e#1346#1363#0" expanded="true" />
<element signature="e#1422#1432#0" expanded="true" />
<element signature="e#1649#1666#0" expanded="true" />
<element signature="e#1816#1833#0" expanded="true" />
<element signature="e#1953#1970#0" expanded="true" />
<element signature="e#2043#2076#0" expanded="true" />
<element signature="e#2298#2314#0" expanded="true" />
<element signature="e#2566#2606#0" expanded="true" />
<element signature="e#2664#2680#0" expanded="true" />
<element signature="e#2746#2779#0" expanded="true" />
<element signature="e#3026#3041#0" expanded="true" />
<element signature="e#3120#3159#0" expanded="true" />
<element signature="e#3228#3245#0" expanded="true" />
<element signature="e#3703#3736#0" expanded="true" />
<element signature="e#3804#3820#0" expanded="true" />
<element signature="e#3941#3957#0" expanded="true" />
<element signature="e#4341#4374#0" expanded="true" />
<element signature="e#5846#5981#0" expanded="true" />
</folding>
</state>
</provider>
@@ -234,36 +289,30 @@
</entry>
<entry file="file://$PROJECT_DIR$/main.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="203">
<caret line="14" column="26" lean-forward="true" selection-start-line="14" selection-start-column="26" selection-end-line="14" selection-end-column="26" />
<state relative-caret-position="549">
<caret line="280" column="1" selection-start-line="280" selection-start-column="1" selection-end-line="280" selection-end-column="1" />
<folding>
<element signature="e#0#17#0" expanded="true" />
<element signature="e#284#443#0" expanded="true" />
<element signature="e#1159#1192#0" expanded="true" />
<element signature="e#1344#1361#0" expanded="true" />
<element signature="e#1420#1430#0" expanded="true" />
<element signature="e#1647#1664#0" expanded="true" />
<element signature="e#1707#1720#0" expanded="true" />
<element signature="e#1814#1831#0" expanded="true" />
<element signature="e#1951#1968#0" expanded="true" />
<element signature="e#2041#2074#0" expanded="true" />
<element signature="e#2296#2312#0" expanded="true" />
<element signature="e#2476#2489#0" expanded="true" />
<element signature="e#2564#2604#0" expanded="true" />
<element signature="e#2662#2678#0" expanded="true" />
<element signature="e#2744#2777#0" expanded="true" />
<element signature="e#3024#3039#0" expanded="true" />
<element signature="e#3118#3157#0" expanded="true" />
<element signature="e#3226#3243#0" expanded="true" />
<element signature="e#3419#3432#0" expanded="true" />
<element signature="e#3701#3734#0" expanded="true" />
<element signature="e#3802#3818#0" expanded="true" />
<element signature="e#3939#3955#0" expanded="true" />
<element signature="e#4186#4199#0" expanded="true" />
<element signature="e#4339#4372#0" expanded="true" />
<element signature="e#5203#5224#0" expanded="true" />
<element signature="e#5524#5545#0" expanded="true" />
<element signature="e#5579#5714#0" expanded="true" />
<element signature="e#201#258#0" expanded="true" />
<element signature="e#1161#1194#0" expanded="true" />
<element signature="e#1346#1363#0" expanded="true" />
<element signature="e#1422#1432#0" expanded="true" />
<element signature="e#1649#1666#0" expanded="true" />
<element signature="e#1816#1833#0" expanded="true" />
<element signature="e#1953#1970#0" expanded="true" />
<element signature="e#2043#2076#0" expanded="true" />
<element signature="e#2298#2314#0" expanded="true" />
<element signature="e#2566#2606#0" expanded="true" />
<element signature="e#2664#2680#0" expanded="true" />
<element signature="e#2746#2779#0" expanded="true" />
<element signature="e#3026#3041#0" expanded="true" />
<element signature="e#3120#3159#0" expanded="true" />
<element signature="e#3228#3245#0" expanded="true" />
<element signature="e#3703#3736#0" expanded="true" />
<element signature="e#3804#3820#0" expanded="true" />
<element signature="e#3941#3957#0" expanded="true" />
<element signature="e#4341#4374#0" expanded="true" />
<element signature="e#5846#5981#0" expanded="true" />
</folding>
</state>
</provider>

BIN
sort/a.out Normal file

Binary file not shown.

View File

@@ -223,21 +223,32 @@ void freeTheLinkList(LinkNode* in){
delete tmp;
}
}
int main()
{
void checkTheLinkList(LinkNode* in){
int tmp = in->next->data;
in = in->next;
while (in){
if(in->data<tmp){
cout << "error: 链表不是升序";
return;
}
in = in->next;
}
cout << "success: 连表是升序排列."<<endl;
}
int main() {
int size = 10;
char *sortType[] ={"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","ð<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"};
void (*sortFun[])(LinkNode*) = {InsertSort,BubbleSort,QuickSort,SelectionSort};
char *testType[] = {"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"};
LinkNode* (*testFun[])(int) = {initArandList,initReList,initLinkList};
char *sortType[] = {"插入排序", "冒泡排序", "快速排序", "选择排序"};
void (*sortFun[])(LinkNode *) = {InsertSort, BubbleSort, QuickSort, SelectionSort};
char *testType[] = {"随机数据", "顺序数据", "逆序数据"};
LinkNode *(*testFun[])(int) = {initArandList, initReList, initLinkList};
#ifndef COUT_LIST
size = 10;
for(int n = 1;n<4;n++) {
size = size*10;
cout << endl << "<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݹ<EFBFBD>ģ:" << size << endl;
for (int n = 1; n < 4; n++) {
size = size * 10;
cout << endl << "当前测试用数据规模:" << size << endl;
#endif
for (int j = 0; j < 3; j++) {
cout << "<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" << testType[j] << endl;
cout << "当前测试用例:" << testType[j] << endl;
for (int i = 0; i < 4; i++) {
auto randomlist = testFun[j](size);
#ifdef COUT_LIST
@@ -250,15 +261,16 @@ int main()
sortFun[i](randomlist);
#ifndef CONT
end = clock();
cout << sortType[i] << "<EFBFBD><EFBFBD>ʱ:" << (end - start) << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>" << endl;
cout << sortType[i] << "用时:" << (end - start) << "毫秒" << endl;
#endif
#ifdef COUT_LIST
coutList(randomlist);
#endif
#ifdef CONT
cout << sortType[i] << "ʹ<EFBFBD>ø<EFBFBD>ֵ:" << cont_change << "<EFBFBD><EFBFBD>" << endl;
cout << sortType[i] << "ʹ<EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>:" << cont_if << "<EFBFBD><EFBFBD>" << endl;
cout << sortType[i] << "使用赋值:" << cont_change << "" << endl;
cout << sortType[i] << "使用判断:" << cont_if << "" << endl;
#endif
checkTheLinkList(randomlist);
freeTheLinkList(randomlist);
}
}
@@ -266,4 +278,4 @@ int main()
}
#endif
return 0;
}
}