为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

插入排序

2012-06-22 2页 doc 33KB 24阅读

用户头像

is_304031

暂无简介

举报
插入排序一维数组和指针是很好用的:假如一个一维数组a[1,2,3,4,5],现有指针*p,则定义int *p=a;(意思是p指向数组a)如果p=a,则说明p指向a数组中的第一个元素1,同理p+1就是指向数组a中的第二个元素2.*p=a[0],*(p+1)=a[1],…以此类推 二维数组与指针有点难度:这牵涉到行指针和一维指针。一维指针就是从第一行的每个元素依前后顺序递推,第一行完了之后,第二行。而行指针则不是这样,p是先指向第一行的第一个元素,p+1就指向第二行的第一个元素。 行号 列号 指针(*(P+0)+0)指向第一...
插入排序
一维数组和指针是很好用的:假如一个一维数组a[1,2,3,4,5],现有指针*p,则定义int *p=a;(意思是p指向数组a)如果p=a,则说明p指向a数组中的第一个元素1,同理p+1就是指向数组a中的第二个元素2.*p=a[0],*(p+1)=a[1],…以此类推 二维数组与指针有点难度:这牵涉到行指针和一维指针。一维指针就是从第一行的每个元素依前后顺序递推,第一行完了之后,第二行。而行指针则不是这样,p是先指向第一行的第一个元素,p+1就指向第二行的第一个元素。 行号 列号 指针(*(P+0)+0)指向第一行第一个元素,对应值为*(*(P+0)+0), 指针(*(P+0)+1)指向第一行第二个元素,对应值为*(*(P+0)+1) 指针(*(P+0)+2)指向第一行第三个元素,对应值为*(*(P+0)+2) 指针(*(P+1)+0)指向第二行第一个元素,对应值为*(*(P+1)+0), 指针(*(P+1)+1)指向第二行第二个元素,对应值为*(*(P+1)+1) 指针(*(P+1)+2)指向第二行第三个元素,对应值为*(*(P+1)+2) . . . 以此类推 好好看看教材,多看几遍就会懂得。 二维指针**p *p[n] 还是一个指针,不是一个值,当然不能改变值。 *(*p[n])才可以,*(*p[n]+1)是第二个。 //将数组在逻辑上划分为“完成区域”和“待排区域”,每完成“一趟”,完成区域++,待排区域— 初始时,完成区域为空,待排区域为n; 排序结束后,完成区域为n,待排区域为空。 // shuJuJieGou.paiXu.chaRuPaiXu.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include using namespace std; int* chaRuPaiXu(int a[],int n)//传入一个待排列数组a[]和其长度n { int temp; for(int i=1;ij;k--)//移位;;不用等号因为a[k-1]已经可以使取得j了 { a[k]=a[k-1]; } a[j]=temp;//插入 } } } cout<<"成功完成--插入排序!"<
/
本文档为【插入排序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索