王道DS练习笔记
pwkzuy20
这个作者很懒,什么都没留下…
展开
-
基础逆置算法
//基础思想:扫描顺序表的前半部分,然后和其余的后半部分对应元素进行交换。int counter(int a[],int n) { int i,t; for (i=0;i<n/2;i++) { t=a[i]; a[i]=a[n-i-1]; a[n-i-1]=t; }n=奇数:e.g. n=5 a[0],a[1],a[2],a[3],a[4]n/2=2...原创 2018-05-12 16:37:37 · 1414 阅读 · 0 评论 -
删除线性表中值为X的数据元素
//一边扫描一边用flag记录不等于X的元素,然后该元素向前移动flag个单位int delx(int a[],int n) { int i,flag=0; int x; scanf("%d",&x); for (i=0;i<n;i++) { if (a[i]==x) { flag++; } else { a[i-flag]=a[i]; ...原创 2018-05-12 18:18:10 · 1785 阅读 · 0 评论 -
合并两个有序顺序表
int combine(int a[],int b[],int n,int m) { int j=0,i=0,k=0,co[n+m]; while (j<n&&i<m) {//当两个表都没结束时(注意判断条件是<而不是<=,因为一共n个数,最大下标要小于n),进入循环,把较小的那个放到新的合并表里 if (a[j]<=b[i]) { ...原创 2018-05-12 20:17:01 · 261 阅读 · 0 评论