#define SUCCESSE 1
#define FAIL 0
冒泡排序(Bubble Sort)
1.两数不断比较交换值直到符合条件
2.缺点: 交换次数有点多
int BubbleSort(int* ary, int size)
{
int i, j, tmp, isOrder, range, tmpRange = 0;
if (NULL == ary || size <= 0)
return FAIL;
range = size - 1;
for (i = 0; i < size - 1; i++)
{
isOrder = 1;
for (j = 0; j < range; j++)
{
if (ary[j] > ary[j + 1])
{
tmp = ary[j];
ary[j] = ary[j + 1];
ary[j + 1] = tmp;
tmpRange = j;//缩小下一个数的内循环
isOrder = 0;
}
}
range = tmpRange;
if (isOrder)//数组当前已经有序
return SUCCESSE;
}
return SUCCESSE;
}
选择排序(Selection Sort)
1.从数组里面选出最大最小值,不断从外往内有序排序
int SelectionSort(int* ary, int size)
{
int i, min = 0, max = 0, left = 0, right = 0, tmp = 0;
if (NULL == ary || size <= 0)
return FAIL;
right = size - 1;
for (left = 0; left <= right; left++, right--)//两边同时查找,更快缩小范围
{
min = left;
max = right;
for (i = left; i <= right; i++)
{
if (ary[i] < ary[min])
{
min = i;
}
else if (ary[i] > ary[max])
{
max = i;
}
}
if (min != left)
{
tmp = ary[left];
ary[left] = ary[min];
ary[min] = tmp;
if (max == left)//如果左边的值刚好是最大值,应保持原有max对应的值
{
max = min;
}
}
if (max != right)
{
tmp = ary[right];
ary[right] = ary[max];
ary[max] = tmp;
}
}
return SUCCESSE;
}
程序设计模式
工厂模式
就把多个高度相似函数合并成一个函数, 更方便阅读,整合,扩展子模块。
你不用管内部是怎么实现的,尽管传参就是。在很多语言里面(又被称为单例模式),
创建对象只允许创建一个,有比较内存地址,比较内存结构,内存特征(内存地址和值形成的乘积,
有概率不同内存也会相等的,除非它们的内存块地址是固定的)的。
回过头来看这些设计模式,已经脱离了代码的本质,要想让人了解设计模式,
应该把编译器的本质告诉人们,内存没有那么复杂。写代码要考虑的是需求,改需求。
MVC模式
工作写了两年代码,更多是M-VC模式,数据是分离的,VC并没有完全分离。
每一种模式都对应着一种编程语言,这真的很让人讨厌。
MVC的升级版出了MVP,在MVC模式下,一个网页表格可能对应一个或者多个数据库表,
如果你在数据库新增一个字段,代码逻辑和网页肯定也要加一个,那能否减少一个呢?
把网页的减去,但是相对你要增加逻辑层的代码,可是需求上又想做到智能显示,
为了做到这样,把逻辑层智能化一点,智能识别字段,构造表格,好爽啊。
我理解为MVVM,逻辑和数据是互动的。
当用户不在局限于看到你指定给用户的东西,用户要自己指定想看的东西。
想直接分个数据库的普通账号给你是,但是最终还是要靠程序员,网页,逻辑都改动很多。
我理解为MVP, 逻辑和数据是互动的,视图和逻辑是互动的。
人排序
我所认知的世界,人是分不同实际价值等级进行排序的。历史上皇帝是真龙天子,妃子是凤,
人民为皇帝效忠管理人民。恒古不变争夺的有,交配,地域,统治。
排序的目的是为了对数据进行更好的分析。
假设有一天仿真机机器人真的出现了,它能明白你喜欢什么,讨厌什么,学会怎么讨好你。
并且只要电,已经形成了机器产业链,可以取代无数没有技术的人。
用机器抹去我们不想看到的,仿造我们想要的东西,如果机器可以取代我,那么我的意义在哪里呢?
历史排序-下跪
《唐伯虎点秋香》皇帝直接任命官员,官员们见到皇帝要下跪。平民见到官员要下跪。
平民的儿子要向平民的爷爷辈下跪(到现在过年,结婚都要跪,我讨厌这种行为)。
所以我从下跪行为推断出:皇帝>官员>平民>平民的儿子。
我们都知道男儿膝下有黄金,我却不知道这句话的缘由。
出自桑园会。讲的是一个年轻男子秋胡在楚国当了官,但是已经父母指婚,
秋胡回来在路边看见一个女子,谈话知道是罗氏(未婚妻)后,罗氏不认识秋胡。
秋胡心里就想看看罗氏的贞操怎么样,秋胡故意说秋胡是个王八蛋在外面早就有了老婆了,
我出马蹄金买你一夜。但是罗氏不从,跑到秋胡家,后来秋胡回家,罗氏这才知道这是秋胡,
罗氏感到自己受到了侮辱,死也不嫁给这样的人。秋胡老妈要秋胡下跪给罗氏道歉,
秋胡就说男儿膝下有黄金,但最终还是下跪给罗氏道歉和好。
从桑园会我推断出下跪原因:人下跪是因愧疚
从网络上解答,历史人下跪是因为椅子太矮形成的礼仪,后来是皇帝这么要求的
历史排序-衣服
1.穿烂麻布,草的是平民,老百姓,乞丐
2.穿绣花的,穿粉色的衣服是女性,小妾,夫人
3.穿黄色的衣服是皇族
2020排序-外貌
,