发一下牢骚和主题无关:
1 冒泡排序
1 冒泡排序: void bubbleSort(int *data,int start,int end) { if (start < end) { int temp = 0; int length = end - start + 1; for (int i = start; i < length - 1; i ++) { if (data[i] < data[i + 1]) { temp = data[i]; data[i] = data[i + 1]; data[i + 1] = temp; } } end --; bubbleSort(data,start,end); } } 注意问题:end--那里,注意每次递归的肇端终止下标的移动,肇端下标稳定,终止下标每次减1, 循环结束条件 为start == end,以及i < length - 1;
2 选择排序
void selectionSort(int *data,int start,int end) { if (start < end) { //int length = end - start + 1; int temp = data[start]; int index = start; for (int i = start + 1; i < end + 1; i ++) { if (data[index] > data[i]) { index = i; } } for (int i = 0; i < 10; i ++) { printf("%d ",data[i]); } printf("\n"); if (start != index) { temp = data[start]; data[start] = data[index]; data[index] = temp; } start ++; selectionSort(data, start, end); } } 注意问题:start ++那里,注意每次递归的肇端终止下标的移动,肇端每次加1,终止下标稳定, 循环结束条件 为start == end,以及i < end + 1
文章结束给大家分享下程序员的一些笑话语录: 据说有一位软件工程师,一位硬件工程师和一位项目经理同坐车参加研讨会。不幸在从盘山公路下山时坏在半路上了。于是两位工程师和一位经理就如何修车的问题展开了讨论。
硬件工程师说:“我可以用随身携带的瑞士军刀把车坏的部分拆下来,找出原因,排除故障。”
项目经理说:“根据经营管理学,应该召开会议,根据问题现状写出需求报告,制订计划,编写日程安排,逐步逼近,alpha测试,beta1测试和beta2测试解决问题。”
软件工程说:“咱们还是应该把车推回山顶再开下来,看看问题是否重复发生。”