arithmetic
Csdn_zc
这个作者很懒,什么都没留下…
展开
-
用函数实现单链表翻转的算法
typedef struct node //定义结点数据类型NODE{int data;struct node *next;} NODE;NODE *link_invert(NODE *Head) //单链表翻转函数 NODE *link_invert(NODE *Head) /原创 2011-07-26 10:23:01 · 1087 阅读 · 0 评论 -
整数最大公约数算法
int gcd(int v1, int v2){while(v2){int temp = v2;v2 = v1 % v2;v1 = temp;}return v1;} //递归算法int rgcd(int v1, i原创 2011-07-26 11:04:34 · 3887 阅读 · 0 评论 -
c语言循环位移(数字,字符串)
C语言中没有提供循环移位的操作符,但可以通过简洁的方式实现循环移位设一个操作数x有s位则循环左移n位的操作为:(x > (s - n));同理右移n位位:(x >> n) | (x 实际编程中可以用宏定义实现循环移位:#define ROTATE_LEFT原创 2011-09-15 09:07:15 · 16178 阅读 · 0 评论 -
C语言实现单链表翻转的递归算法
/* Code by : EricYou http://www.cnblogs.com/yxin1322 Date: 2006.1.14 */ #include #include #include /*链表节点存储的数据*/ typedef char ElemType; /*链表节点结构*/ typedef struct L转载 2011-11-28 15:46:04 · 6099 阅读 · 0 评论 -
插入排序、归并排序
/*插入排序*/#define LEN 5int a[LEN] = {10, 5, 2, 4, 7};void insertion_sort(void){ int i, j, k; for(j = 1; j { k = a[j]; i = j - 1; while(i >= 0 && a[i] >原创 2011-11-29 09:05:13 · 2419 阅读 · 0 评论 -
常见排序算法的实现
常见排序算法的实现(一)-插入排序 插入排序是最简单最直观的排序算法了,它的依据是:遍历到第N个元素的时候前面的N-1个元素已经是排序好的了,那么就查找前面的N-1个元素把这第N个元素放在合适的位置,如此下去直到遍历完序列的元素为止。 算法的复杂度也是简单的,排序第一个需要1的复杂度,排序第二个需要2的复杂度,因此整个的复杂度就是 1 + 2 + 3 + …… + N =转载 2012-07-03 15:22:49 · 2152 阅读 · 0 评论 -
C语言循环的小艺术
1. 质数判断对于这个,很多人可能会直接这样写:int isPrime(int n) //函数返回1表示是质数,返回0表示不是质数{int i;for (i = 2; i < n; i++)if (n % i == 0)break;return i >= n;}又或者,有的人知道平方根的优化:int isPrime(int n){int转载 2011-09-15 09:14:16 · 18154 阅读 · 69 评论