基础代码
1April
计算机闲散爱好者。
展开
-
2021-07-23
排序算法总结一.快速排序:最快情况时间复杂度为(H)(nlgn),最坏情况时间复杂度为(H)()最坏情况时间复杂度很差,但它的平均性能非常好,因此通常是实际排序应用中最好的选择。只要划分是常数比例的,算法的运行时间总是O(nlgn).当划分非平衡时快排运行时间为(欧眯噶)(n^2)void quickSort(int a[],int l,int r){if(l<r){int i=l,j=r;int x=a[r];while(i<j){while((i<j)&原创 2021-07-23 22:45:22 · 101 阅读 · 0 评论 -
gets()函数
gets()函数用来从标准输入设备(键盘)读取字符串直到回车结果,但回车不属于这个字符串,系统自动用'\0'代替最后的换行符。头文件:stdio.h转载 2018-11-04 15:43:36 · 2274 阅读 · 0 评论 -
编写程序,将所给的5个字符串进行排序(使用指针数组完成排序)(使用指针的指针完成排序)
/*使用指针数组完成排序*/#include <stdio.h>#include <string.h>void sort(char *a[],int size);int main(){ char a[5][20],*b[5]; int i; for(i=0;i<5;i++){ scanf("%s",&a[i]); b[i]=a[i];...转载 2018-10-24 15:48:12 · 5882 阅读 · 0 评论 -
给定5个字符串,输出其中最大的字符串
#include<stdio.h>#include <string.h>int main(){ char a[100],b[100]; int i; gets(a); for(i=0;i<4;i++){ gets(b); if(strcmp(b,a)>0) strcpy(a,b); } printf("最大的字符串是:%s",...转载 2018-10-24 14:29:38 · 13923 阅读 · 0 评论 -
设有n个整数,现在要使前面各数顺序向后移m个位置,最后m个数变成最前面m个数。
方法一:先将最后m个数保存在新的b数组中,然后将n-m个数拉至原数组a尾部,再将b数组依次赋值给a数组的前m个数。#include<stdio.h>#define N 80int main(){ int a[N],b[N],i; int n,m; printf("input the n and m:\n"); scanf("%d %d",&n,...转载 2018-10-23 16:03:50 · 9622 阅读 · 1 评论 -
修改数组指定数据
#include <stdio.h>main(){ double x[]={10,20,50,9,8,100,33},x0=0,x1=0; int i=0,n=0,i0=0; n=sizeof(x)/sizeof(double); printf("old value,new value="); scanf("%lf %lf",&x0,&x1); f...原创 2018-10-25 17:56:11 · 797 阅读 · 0 评论 -
字符串操作
1.反转字符串:define NUM 80#include <stdio.h> int main(){ char cc[NUM],c='a'; int i=0,ncount=0; printf("please input a line char:\n"); gets(cc); printf("\n\nyou input:%s\n",cc); for(i=0;cc[i]!...原创 2018-02-25 17:51:32 · 212 阅读 · 0 评论 -
getchar和putchar
1.getchar的用法:(头文件stdio.h)当程序调用getchar时,程序等待用户输入。用户输入的字符将被存放在键盘缓存区中,直到用户按回车键为止(回车字符也放在缓存区中)。当用户键入回车,getchar才开始从stdin流中每次读入一个字符。getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1.且将用户输入的字符回显到屏幕。代码示例:(将字符串转化为实数)#in...原创 2018-02-25 16:21:15 · 8422 阅读 · 0 评论 -
队列
队列的ADT:template <typename E> class Queue{private: void operator =(const Queue&){} Queue(const Queue&){}public: Queue() {} virtual void clear()=0; virtual void enqueue(const ...转载 2018-02-08 18:56:35 · 172 阅读 · 0 评论 -
最大公约数
方法一:欧几里得算法(m>n)1.m被n除得到余数r(02.若r=0,算法结束,n为最大公约数,否则执行3;3.m=n,n=r,执行1.int gcd(int m,int n){ int r=m%n; while(r!=0) { m=n; n=r; r=m%n; }方法二:遍历搜索转载 2018-01-16 17:33:23 · 193 阅读 · 0 评论 -
栈
1.栈的ADTtemplate class Stack {private: void operator=(const Stack&){} stack(const Stack&){}public: Stack(){} virtual ~Stack(){} virtual void clear()=0; virtual void push(转载 2018-01-31 16:01:36 · 188 阅读 · 0 评论 -
线性表的两种实现
1.顺序表的实现templateclass AList:public List{private: int maxSize; int listSize; int curr;//光标落在当前位置的后面 E* listArray;public: AList(int size=defaultSize){ maxSize=size; lis转载 2018-01-30 13:43:31 · 553 阅读 · 0 评论 -
双链表实现
1.双链表结点的实现:template class Link {private: static Link* freelist;public: E element;//value for this node Link* next; Link* prev; Link(const E& it,Link* prevp,Link* nextp){ el转载 2018-01-31 11:44:17 · 210 阅读 · 0 评论 -
基础编程——因式分解
因式分解:1.判断是否为质数;2.将质数连续以乘积形式输出,得到因式。代码转载 点击打开链接 我在源代码的输出上做出了改进[cpp] view plain copybool IsPrime(int n){ int i,k; k=static_case(sqrt((double)n)); if(n==1)转载 2018-01-15 19:45:28 · 1545 阅读 · 0 评论