PKU-程序设计实习-MySort函数
2012-04-22 17:04
435 查看
#include <iostream> #include <string.h> #include <stdio.h> using namespace std; void mysort(void* inputArray, const int nInput, const int dataSize, int cmpFunc(const void* elem1, const void* elem2)) { char* input = (char*)inputArray; for(int i = 0; i < nInput - 1; i++) { for(int j = i + 1; j < nInput; j++) { if(cmpFunc(input + j * dataSize, input +i * dataSize) < 0) { char* buf = new char[dataSize]; memcpy(buf, input + i * dataSize, dataSize); memcpy(input + i * dataSize, input + j * dataSize, dataSize); memcpy(input + j * dataSize, buf, dataSize); delete buf; } } } } int MyCompare(const void* elem1, const void* elem2) { unsigned int *p1, *p2; p1 = (unsigned int*) elem1; p2 = (unsigned int*) elem2; return (*p1 % 10) - (*p2 % 10); } #define NUM 5 int main() { unsigned int an[NUM] = {8, 123, 11, 10, 4}; mysort(an, NUM, sizeof(unsigned int), MyCompare); for(int i = 0; i < NUM; i++) printf("%d ", an[i]); return 0; }
相关文章推荐
- C++基本要点复习--------coursera程序设计实习(PKU)的lecture notes
- PKU C++程序设计实习 学习笔记3 多态与虚函数
- PKU C++程序设计实习 学习笔记2 继承与派生
- PKU C++程序设计实习 学习笔记5 文件操作和模板
- PKU C++程序设计实习 学习笔记1
- PKU C++程序设计实习 学习笔记6 标准模板库STL
- PKU-程序设计实习-Myistream_iterator
- 【北大MOOC】2014程序设计实习--第二周编程作业
- 【程序设计实习】笔记 6--002复合关系
- 程序设计实习·笔记(引用)
- 程序设计实习MOOC / 继承和派生——编程作业 第五周程序填空题1
- POJ 程序设计实习上机练习题 古代密码
- 程序设计实习MOOC - 程序设计与算法(三)第一周测验 4-神秘的数组初始化
- 程序设计实习 魔兽世界终极版 注意及代码~
- 程序设计实习·笔记(动态内存分配:new和delete)
- [程序设计实习]时光机
- 北大程序设计实习MOOC 编程作业 《魔兽世界之二:装备》
- 【程序设计实习】笔记 6--001继承
- 程序设计实习上机练习43 至少有多少只恼人的大青蛙?(搜索+贪心,至今未解决)
- 程序设计实习MOOC / 程序设计与算法(一)第三周测验(2017冬季)4:苹果和虫子2