![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c
3l-li
是问题总有解决方案!
展开
-
希尔排序算法
#include<stdio.h> #define max 100 //数组大小 void shellsort(int *a,int n) { int delta,i,j; for(delta=n/2;delta>0;delta/=2) { for(i=delta;i<n;i++) { int temp=a[i];原创 2015-07-19 02:26:56 · 453 阅读 · 0 评论 -
快速排序
思想就是:把比某个数大的数放到同一边,把比某个数小的数放到另一边,然后就是重复递归调用。 快排算法也叫分治法。#include<stdio.h>void QuickSort(int *a, int low, int high);//调用递归排序 int FindPos(int *a, int low, int high);//找中轴数int main() { int a[6] = { 0,原创 2015-10-19 13:28:09 · 372 阅读 · 0 评论 -
对象+指针
#include<iostream> using namespace std; class Time { public: int hour, minute, sec; //Time(int = 10, int = 30, int = 45); Time(int h,int m,int s):hour(h),minute(m),sec(s){} void get_time(); }; /*Time::原创 2015-08-16 12:56:45 · 433 阅读 · 0 评论 -
复合赋值运算符的使用
public class C2_7 { public static void main(String args[]) { int x,y,z; x=1; y=2; z=3; x+=y;//此时,x=3 y%=x;//此时,y=2 z/=x;//此时,z=1原创 2015-07-22 01:12:46 · 1863 阅读 · 0 评论 -
强制类型转换
public class C2_6 { public static void main(String args[]) { int x,y; x=(int)82.56; y=(int)'A'+(int)'b';//等价于65+98 System.out.print("\tx="+x); System.out原创 2015-07-22 00:35:13 · 393 阅读 · 0 评论 -
运算符笔记
下面为自增运算符(自减雷同)的使用方法(即单目运算符)int a1=2,a2=2; int b=(++a1)*2;//等价于a1=a1+1;b=a1*2; int c=(a2++)*2;//等价于a2=a1*2;c=a2+1;结果: b=6;a1=3; c=4;a2=3;原创 2015-07-21 23:16:54 · 417 阅读 · 0 评论 -
求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字
#include <iostream> using namespace std; int main() {long long s,n,i,j,p;s=0; cin>>n; for(i=1;i<=n;i++) { p=1; for(j=1;j<=i;j++) p*=j; s+=p; } cout<<s<<endl; return 0; }测试结果:原创 2015-07-19 03:17:33 · 16487 阅读 · 1 评论 -
迭代算法求平方根
#include<stdio.h> #include<math.h> void main() { double a,x0,x1; printf("input a:\n"); scanf("%lf",&a); if(a<0)printf("ERROR!\n"); else { x0=a/2; x1=(x0+a/x0)/原创 2015-07-19 03:00:19 · 1037 阅读 · 0 评论 -
直接插入排序算法
先编写一个生成随机数的函数:#include<stdlib.h> #include "time.h" int Create(int arr[],int n,int min,int max) { int i,j,flag; srand(time(NULL)); if((max-min+1)<n)return 0;//最大数与最小数之差小于产生数组的数量,生成数据不成功原创 2015-07-19 13:10:56 · 714 阅读 · 0 评论 -
汉诺塔
#include<stdio.h> void hannuota(int n, char A, char B, char C) { if (n == 1) printf("把第%d个盘子从%c柱子移动到%c柱子\n", n, A, C); else { hannuota(n - 1, A, C, B); printf("把第%d个原创 2015-10-20 20:39:11 · 456 阅读 · 0 评论