开始设计

This commit is contained in:
2026-08-10 01:21:15 +08:00
commit e45398991f
228 changed files with 20827 additions and 0 deletions
+66
View File
@@ -0,0 +1,66 @@
#include "c_QuickSortIterative.h"
#include <stdlib.h>
#include <stdio.h>
#define EXPECT_TRUE(cond, msg) \
do { \
if (!(cond)) { printf(" [X] Failed Assertion: %s\n", msg); return false; } \
} while(0)
typedef struct {
int uid;
int priority;
} ThreadTask;
int compareTasks(const void* a, const void* b) {
const ThreadTask* t1 = (const ThreadTask*)a;
const ThreadTask* t2 = (const ThreadTask*)b;
return (t1->priority - t2->priority);
}
int comparePlainInts(const void* a, const void* b) {
return (*(int*)a - *(int*)b);
}
// Test 1: Sorting a highly unsorted, random layout sequence
bool test_iterative_qsort_random(void) {
int datasets[] = { 42, 12, 89, 23, 7, 56, 34, 91, 15, 68 };
c_size_t total = sizeof(datasets) / sizeof(datasets);
c_QuickSortIterative(datasets, total, sizeof(int), comparePlainInts);
for (c_size_t i = 0; i < total - 1; i++) {
EXPECT_TRUE(datasets[i] <= datasets[i+1], "Iterative sorting sequence tracking error occurred");
}
return true;
}
// Test 2: Multi-field structure priority scheduling validation
bool test_iterative_qsort_struct(void) {
ThreadTask tasks[] = {
{ 1001, 5 },
{ 1002, 1 },
{ 1003, 9 },
{ 1004, 3 },
{ 1005, 5 }
};
c_size_t count = sizeof(tasks) / sizeof(tasks);
c_QuickSortIterative(tasks, count, sizeof(ThreadTask), compareTasks);
for (c_size_t i = 0; i < count - 1; i++) {
EXPECT_TRUE(tasks[i].priority <= tasks[i+1].priority,
"Struct elements misaligned during iterative stack operations");
}
return true;
}
// Testing Execution Entry Driver
int main(void) {
printf("=== Starting Framework Unit Testing: Iterative Quicksort ===\n");
if (test_iterative_qsort_random()) printf(" [PASS] Test 1: Random Disordered Data Array Sorted Successfully\n");
if (test_iterative_qsort_struct()) printf(" [PASS] Test 2: Complex Struct Priority Segments Sorted Successfully\n");
printf("=== System Verification Sequence Completed ===\n");
return 0;
}