- 博客(6)
- 收藏
- 关注
原创 字符串的反转
利用运算符 + 的重载#include <iostream>#include <string>using std::cout;using std::cin;using std::endl;using std::string;string Resversal(const string str){ string s; for (int i = 0; i < str.size()
2017-06-04 17:05:53
379
原创 希尔排序(C语言实现)
算法思想直插排序是特殊的希尔排序,直插排序每次插入前的遍历步长为1,而希尔排序初始步长为要排的数的一半,之后每执行一次步长折半。代码实现如下:#include <stdio.h>#include <malloc.h>void Shell_sort(int *a, int len); //函数声明int main(void){ int i; int len; int *
2017-05-21 17:25:34
1405
原创 选择排序(C语言实现)
算法思想从下标为0的位置开始,为每一个位置找到排序后应有的值,从该位置开始向后遍历数组,找到最小的值(不妨设排序为升序排列 ),放入该位置,接着为下一位置寻找该位置应有的值。#include <stdio.h>#include <malloc.h>void Select_sort(int *a, int len);int main(void){ int i; int len;
2017-05-21 09:17:23
829
原创 冒泡排序(C语言实现)
算法思想从数组下标0开始,为每个位置找到排序后应有的值,从该位置开始遍历数组,每找到比该位置上元素的值小的元素,便交换两数。#include <stdio.h>#include <malloc.h>void Select_sort(int *a, int len);int main(void){ int i; int len; int * a; printf("请
2017-05-21 01:42:52
447
原创 直插排序(C语言实现)
算法思想从数组第1位开始遍历(数组下标从0开始,设排序为升序排列),备份当前下标的值,遍历该下标之前的元素,若该元素的值比备份下标的值大,则该元素向后移动一位,接着判断前一个元素;若该元素的值比备份下标的值小,则该元素不做处理。代码实现如下://升序直插排序#include <stdio.h>#include <malloc.h>void insert_sort(int *a, int len
2017-05-21 01:12:54
1458
原创 如何交换两个数(C语言实现)
利用中间变量#include <stdio.h>int main(void){ int a; int b; int temp; printf("请输入a的值:"); scanf("%d",&a); printf("请输入b的值:"); scanf("%d",&b); temp = a; //备份a的值 a = b;
2017-05-20 18:49:06
653
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅