From 68800287953f1570b3a290ddef1192d4bbe90177 Mon Sep 17 00:00:00 2001 From: Lyc-heng <18087603176@163.com> Date: Wed, 7 Jun 2017 12:26:53 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E4=BA=86=E5=BF=85?= =?UTF-8?q?=E9=80=89=E7=9A=84=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "2017-1/li-yc/\346\216\222\345\272\217/1.PNG" | Bin 0 -> 18313 bytes "2017-1/li-yc/\346\216\222\345\272\217/2.PNG" | Bin 0 -> 13578 bytes .../li-yc/\346\216\222\345\272\217/Sort.c" | 131 ++++++++++++++++++ .../li-yc/\346\216\222\345\272\217/Sort.h" | 28 ++++ .../li-yc/\346\216\222\345\272\217/main.c" | 59 ++++++++ 5 files changed, 218 insertions(+) create mode 100644 "2017-1/li-yc/\346\216\222\345\272\217/1.PNG" create mode 100644 "2017-1/li-yc/\346\216\222\345\272\217/2.PNG" create mode 100644 "2017-1/li-yc/\346\216\222\345\272\217/Sort.c" create mode 100644 "2017-1/li-yc/\346\216\222\345\272\217/Sort.h" create mode 100644 "2017-1/li-yc/\346\216\222\345\272\217/main.c" diff --git "a/2017-1/li-yc/\346\216\222\345\272\217/1.PNG" "b/2017-1/li-yc/\346\216\222\345\272\217/1.PNG" new file mode 100644 index 0000000000000000000000000000000000000000..d5156ddba6a202bd33bed792d15a87ec1e643243 GIT binary patch literal 18313 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 E0M~miJOBUy literal 0 HcmV?d00001 diff --git "a/2017-1/li-yc/\346\216\222\345\272\217/2.PNG" "b/2017-1/li-yc/\346\216\222\345\272\217/2.PNG" new file mode 100644 index 0000000000000000000000000000000000000000..d050cb9ef46ecf622dab9336b37a6e69f2b602a6 GIT binary patch literal 13578 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 literal 0 HcmV?d00001 diff --git "a/2017-1/li-yc/\346\216\222\345\272\217/Sort.c" "b/2017-1/li-yc/\346\216\222\345\272\217/Sort.c" new file mode 100644 index 00000000..be06e0eb --- /dev/null +++ "b/2017-1/li-yc/\346\216\222\345\272\217/Sort.c" @@ -0,0 +1,131 @@ +#include "Sort.h" + +Status InsertSort(SqList *a, int *ctime, int *mtime) { + int temp; + int i; + int j; + for (i = 1; i < a->length; ++i) { + if (a->r[i] < a->r[i - 1] && ++(*ctime)) { + temp = a->r[i]; + a->r[i] = a->r[i - 1]; + ++(*mtime); + for (j = i - 1; temp < a->r[j]; --j) { + a->r[j + 1] = a->r[j]; + ++(*mtime); + } + a->r[j + 1] = temp; + ++(*ctime); + } + } + return OK; +} + +Status ShellInsert(SqList *a, int dk, int *ctime, int *mtime) { + int temp; + int i; + int j; + for (i = dk; i < a->length; ++i) { + if (a->r[i] < a->r[i - dk] && ++(*ctime)) { + temp = a->r[i]; + a->r[i] = a->r[i - dk]; + (*mtime)++; + for (j = i - dk; j > 0 && temp < a->r[j]; --j) { + a->r[j + dk] = a->r[j]; + ++(*mtime); + } + a->r[j + dk] = temp; + ++(*ctime); + } + } + return OK; +} + +Status BubbleSort(SqList *a, int *ctime, int *mtime) { + int i; + int j; + int temp; + for (i = 0; i < a->length; ++i) { + for (j = i + 1; j < a->length; ++j) { + if (a->r[i] > a->r[j] && ++(*ctime)) { + temp = a->r[i]; + a->r[i] = a->r[j]; + a->r[j] = temp; + (*mtime) += 3; + } + } + } + return OK; +} + +Status QKSort(SqList *a, int low, int high, int *ctime, int *mtime) { + int pivotlo; + if (low < high) { + pivotlo = QKPass(a, low, high, ctime, mtime); + QKSort(a, low, pivotlo - 1, ctime, mtime); + QKSort(a, pivotlo + 1, high, ctime, mtime); + } + return OK; +} + +int QKPass(SqList *a, int left, int right, int *ctime, int *mtime) { + int key = a->r[left]; + int low = left; + int high = right; + while (low < high) { + while (low < high&&a->r[high] >= key&&++(*ctime)) { + high--; + } + a->r[low] = a->r[high]; + ++(*mtime); + while (low < high&&a->r[low] < key&&++(*ctime)) { + low++; + } + a->r[high] = a->r[low]; + ++(*mtime); + } + a->r[low] = key; + ++(*mtime); + return low; +} + +Status SelectSort(SqList *a, int *ctime, int *mtime) { + int i; + int j; + int key; + int temp; + for (i = 0; i < a->length; ++i) { + key = i; + for (j = i + 1; j < a->length; ++j) { + if (a->r[j] < a->r[key] && ++(*ctime)) { + key = j; + } + } + if (key != i) { + temp = a->r[i]; + a->r[i] = a->r[key]; + a->r[key] = temp; + (*mtime) += 3; + } + } + return OK; +} + +Status Traverse(SqList a) { + int i; + for (i = 0; i < a.length; ++i) { + printf("%d ", a.r[i]); + } + printf("\n"); + return OK; +} + +Status InitTestArrary(SqList *a, SqList *a1, int *ctime, int *mtime) { + int i; + for (i = 0; i < a->length; ++i) { + a1->r[i] = a->r[i]; + } + *ctime = 0; + *mtime = 0; + printf("\n将排序完成的数组恢复成原来顺序\n\n"); + return OK; +} \ No newline at end of file diff --git "a/2017-1/li-yc/\346\216\222\345\272\217/Sort.h" "b/2017-1/li-yc/\346\216\222\345\272\217/Sort.h" new file mode 100644 index 00000000..9e815926 --- /dev/null +++ "b/2017-1/li-yc/\346\216\222\345\272\217/Sort.h" @@ -0,0 +1,28 @@ +#include +#include +#include + +#define MAXSIZE 20 + +typedef enum { + false, + true, +}bool; +typedef enum { + OK, + OVERFLOW, + ERROR, +} Status; +typedef struct { + int r[MAXSIZE]; + int length; +}SqList; + +Status InsertSort(SqList *a, int *ctime, int *mtime); +Status ShellInsert(SqList *a, int dk, int *ctime, int *mtime); +Status BubbleSort(SqList *a, int *ctime, int *mtime); +Status QKSort(SqList *a, int low, int high, int *ctime, int *mtime); +int QKPass(SqList *a, int left, int right, int *ctime, int *mtime); +Status SelectSort(SqList *a, int *ctime, int *mtime); +Status Traverse(SqList a); +Status InitTestArrary(SqList *a, SqList *a1, int *ctime, int *mtime); \ No newline at end of file diff --git "a/2017-1/li-yc/\346\216\222\345\272\217/main.c" "b/2017-1/li-yc/\346\216\222\345\272\217/main.c" new file mode 100644 index 00000000..6c33cbe7 --- /dev/null +++ "b/2017-1/li-yc/\346\216\222\345\272\217/main.c" @@ -0,0 +1,59 @@ +#include "Sort.h" + +int main() { + SqList a, test; + int i; + int comparetimes = 0, movetimes = 0; + int dk; + + srand((unsigned)time(NULL)); + a.length = test.length = 0; + for (i = 0; i < MAXSIZE; ++i) { + a.r[i] = test.r[i] = rand() % 100 + 1; + a.length++; + test.length++; + } + + printf("初始化的数组为:\n"); + Traverse(a); + printf("待排序的数组为:\n"); + Traverse(test); + + InsertSort(&test, &comparetimes, &movetimes); + printf("\n经过直接插入排序后的数组:\n"); + Traverse(test); + printf("总比较次数为:%d\n总移动记录次数:%d\n两者次数之和:%d\n", comparetimes, movetimes, comparetimes + movetimes); + + InitTestArrary(&a, &test, &comparetimes, &movetimes); + + dk = 4; + ShellInsert(&test, dk, &comparetimes, &movetimes); + dk = 6; + ShellInsert(&test, dk, &comparetimes, &movetimes); + InsertSort(&test, &comparetimes, &movetimes); + printf("经过希尔排序后的数组:\n"); + Traverse(test); + printf("总比较次数为:%d\n总移动记录次数:%d\n两者次数之和:%d\n", comparetimes, movetimes, comparetimes + movetimes); + + InitTestArrary(&a, &test, &comparetimes, &movetimes); + + BubbleSort(&test, &comparetimes, &movetimes); + printf("经过气泡排序后的数组:\n"); + Traverse(test); + printf("总比较次数为:%d\n总移动记录次数:%d\n两者次数之和:%d\n", comparetimes, movetimes, comparetimes + movetimes); + + InitTestArrary(&a, &test, &comparetimes, &movetimes); + + QKSort(&test, 0, 19, &comparetimes, &movetimes); + printf("经过快速排序后的数组:\n"); + Traverse(test); + printf("总比较次数为:%d\n总移动记录次数:%d\n两者次数之和:%d\n", comparetimes, movetimes, comparetimes + movetimes); + + InitTestArrary(&a, &test, &comparetimes, &movetimes); + + SelectSort(&test, &comparetimes, &movetimes); + printf("经过简单选择排序后的数组:\n"); + Traverse(test); + printf("总比较次数为:%d\n总移动记录次数:%d\n两者次数之和:%d\n", comparetimes, movetimes, comparetimes + movetimes); + return 0; +} \ No newline at end of file From 4bc66d02dc4131bc8beb19131145fc5ef720ade8 Mon Sep 17 00:00:00 2001 From: Lyc-heng <18087603176@163.com> Date: Wed, 14 Jun 2017 14:58:13 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=85=B3=E4=BA=8E=E5=BF=85=E9=80=89?= =?UTF-8?q?=E5=93=88=E5=B8=8C=E8=A1=A8=E7=9A=84=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../1.PNG" | Bin 0 -> 18744 bytes .../2.PNG" | Bin 0 -> 19195 bytes .../3.PNG" | Bin 0 -> 12371 bytes .../Hashtable.c" | 97 ++++++++++++++++++ .../Hashtable.h" | 35 +++++++ .../main.c" | 34 ++++++ 6 files changed, 166 insertions(+) create mode 100644 "2017-1/li-yc/\345\223\210\345\270\214\350\241\250/1.PNG" create mode 100644 "2017-1/li-yc/\345\223\210\345\270\214\350\241\250/2.PNG" create mode 100644 "2017-1/li-yc/\345\223\210\345\270\214\350\241\250/3.PNG" create mode 100644 "2017-1/li-yc/\345\223\210\345\270\214\350\241\250/Hashtable.c" create mode 100644 "2017-1/li-yc/\345\223\210\345\270\214\350\241\250/Hashtable.h" create mode 100644 "2017-1/li-yc/\345\223\210\345\270\214\350\241\250/main.c" diff --git "a/2017-1/li-yc/\345\223\210\345\270\214\350\241\250/1.PNG" "b/2017-1/li-yc/\345\223\210\345\270\214\350\241\250/1.PNG" new file mode 100644 index 0000000000000000000000000000000000000000..d116ce776b8bd78e5184a4ff259907d53d224cdf GIT binary patch literal 18744 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

F37_~kxKQZo=bp5 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 gylBvA469wrJZOCeLD2SnpM3TI0XW%$YybcN literal 0 HcmV?d00001 diff --git "a/2017-1/li-yc/\345\223\210\345\270\214\350\241\250/3.PNG" "b/2017-1/li-yc/\345\223\210\345\270\214\350\241\250/3.PNG" new file mode 100644 index 0000000000000000000000000000000000000000..6998f8c5a4810cefdc00b5dca0efc0fae3ce964a GIT binary patch literal 12371 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 } \n", i, H.elements[i].key, H.elements[i].val); + } + printf("\n"); + return OK; +} diff --git "a/2017-1/li-yc/\345\223\210\345\270\214\350\241\250/Hashtable.h" "b/2017-1/li-yc/\345\223\210\345\270\214\350\241\250/Hashtable.h" new file mode 100644 index 00000000..820caa67 --- /dev/null +++ "b/2017-1/li-yc/\345\223\210\345\270\214\350\241\250/Hashtable.h" @@ -0,0 +1,35 @@ +#include +#include +#include + +#define ArrayLenth 10 //输入的数组长度 +#define HashLength 12 //哈希表初始化长度 + +typedef int KeyType; +typedef int ValueType; +typedef struct _ElemType { + KeyType key; // 关键字 + ValueType val; // 值 +} ElemType; +typedef struct { + int size; + int used; + ElemType* elements; +}Hashtable; +typedef enum { + false, + true, +}bool; +typedef enum { + OK, + OVERFLOW, + ERROR, +} Status; + +Hashtable CreatHash(int size); +Status CreatArray(int arr[][2]); +bool isFull(Hashtable H); +Status Insert(Hashtable H, KeyType keyvalue, ValueType value); +Status Find(Hashtable H, KeyType keyval); +Status RebulidHash(Hashtable *H); +Status TraverseHash(Hashtable H); \ No newline at end of file diff --git "a/2017-1/li-yc/\345\223\210\345\270\214\350\241\250/main.c" "b/2017-1/li-yc/\345\223\210\345\270\214\350\241\250/main.c" new file mode 100644 index 00000000..bc635d88 --- /dev/null +++ "b/2017-1/li-yc/\345\223\210\345\270\214\350\241\250/main.c" @@ -0,0 +1,34 @@ +#include "Hashtable.h" + +int main() { + Hashtable H; + int arr[ArrayLenth][2]; + int i; + + srand(time(0)); + + //创建哈希表 + H = CreatHash(HashLength); + CreatArray(arr); + + //初始化哈希表 + for (i = 0; i < ArrayLenth; ++i) { + Insert(H, arr[i][0], arr[i][1]); + } + printf("哈希表建立完毕\n"); + TraverseHash(H); + + //关键字查找 + for (i = 0; i < HashLength / 2; ++i) { + Find(H, arr[rand() % ArrayLenth][0]); + } + for (i = 0; i < HashLength / 2; ++i) { + Find(H, rand() % 100 + 1); + } + + //重建哈希表 + RebulidHash(&H); + TraverseHash(H); + + return 0; +} \ No newline at end of file