C语言算法锦集(六) 数组常用操作_第1页
C语言算法锦集(六) 数组常用操作_第2页
C语言算法锦集(六) 数组常用操作_第3页
C语言算法锦集(六) 数组常用操作_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数组常用算法:查找:/*线性查找*/int find(int num,int x,int key) int i,m=-1; for(i=0;i<num;i+) if(xi=key) m=i; break; return m;/*折半查找*/int find(int x,int num,int key) int m=-1,low=0,high=num-1,mid; while(low<=high) mid=(low+high)/2; if(xmid=key) m=mid; break; else if(xmid>key) high=mid-1; else low=mid+1;

2、return m;/*折半查找(递归)*/int b_search(int x ,int low,int high,int key) int mid; mid=(low+high)/2; if(xmid=key) return mid; if(low>=high) return -1; else if(key<xmid) return b_search(x,low,mid-1,key); else return b_search(x,mid+1,high,key); /*寻找子串*/int find(char *s1,char *s2) int i,k=0; while(s1i=s

3、2i) i+; if(s2i=0) return k; s1+; k+; return -1;分词:/*方法一*/void fen(char s10,char str) int i,j,k; for(i=0,j=0,k=0;stri!=0;i+) if(isalpha(ai) sjk+=stri; else sjk=0; k=0; j+; /*方法二*/#include<stdio.h>#include<string.h>void main() int i=0,n=0;char s80,*p; strcpy(s,"It is a book."); f

4、or(p=s;p!='0'p+) if(*p='') i=0; else if(i=0) n+;i=1; printf("%dn",n); getch();排序:/*插入法排序*/void sort(int a,int n) int i,j,t; for(i=1;i<n;i+) t=ai; for(j=i-1;j>=0&&t<aj;j-) aj+1=aj; aj=t; /*归并排序*/#define x 10#define y 10void com(int *a,int *b,int *c) int i,j,

5、k; for(i=0,j=0,k=0;i<=x&&j<=y;) if(ai<bj) ck+=ai;i+; else ck+=bj;j+; if(i<x) for(k=k-1;i<x;i+) ck+=ai; if(j<x) for(k=k-1;j<y;j+) ck+=aj;/*交换法排序1 冒泡排序*/void sort(int a,int n) int i,j,t,flag; for(i=0;i<n-1;i+) flag=1; for(j=0;j<n-1-i;j+) if(aj>aj+1) t=aj; aj=aj+1; aj+1=t; flag=0; if(flag) break; /*交换法排序2*/void sort(int a,int n) int i,j,t; for(i=0;i<n-1;i+) for(j=i+1;j<n;j+) if(ai>aj) t=ai; ai=aj; aj=t; /*选择法排序*/void sort(int a,int n) int i,j,point,t; for(i=0;i<n-1;i+) point=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论