表排序(基于插入排序) C~
来源:互联网 发布:淘宝如何装修店铺教程 编辑:程序博客网 时间:2024/06/17 02:53
用一个数组 记录 数据的 指针(宏观意义上的指针 , 即 地址)
每次排序 都是对 表table 的变换 并不 对数据本身进行变换。
//基于插入排序的表排序(这里是最简单的数排序,其中的数据可以是各种类型数据,只需要根据相应关键字进行排序就行了)
实现:
#include<stdio.h>#define MAX 10int table[MAX];int data[MAX];void insert_sort(int a[], int n){int tmp, i, j, k;for(i = 1; i < n; i++){tmp = a[table[i]];k = i; for(j = i; a[table[j-1]] > tmp && j > 0;j-- ){table[j] = table[j-1];}table[j] = k;}}int main(){int n;int kcase = 0;while(scanf("%d",&n) == 1 && n != 0){for(int i = 0; i < n; i++ ){scanf("%d",&data[i]);table[i] = i;}insert_sort(data, n);// 排序 printf("Case %d:", ++kcase);for(int i = 0; i < n; i++ ){printf("%d ",data[table[i]]);}printf("\n");}return 0;}
阅读全文
0 0
- 表排序(基于插入排序) C~
- 【排序】表插入排序算法(C语言版)
- 排序算法(c实现)------- 插入排序
- 排序——插入排序(C++)
- 插入排序----直接插入排序(C、C++、Python、Shell)
- c语言插入排序表
- 算法 - 插入排序(C#)
- 插入排序(c语言版)
- 插入排序(c语言版)
- 插入排序(C实现)
- InsertionSort -- 插入排序(C++)
- 插入排序实现(C++)
- 插入排序(C语言)
- 插入排序(c实现)
- 插入排序(C/C++)
- C 插入排序 希尔排序
- 基于链表的插入排序
- 基于链表的插入排序
- 【转载、修改、增强】MFC基于对话框程序如何最小化到托盘?
- caffe 学习笔记-prototxt文件定义与读取
- appium(java)——环境搭建
- React Native基础
- jvm_bind端口占用异常原因分析
- 表排序(基于插入排序) C~
- cocos2dx 3.4 assets问题
- OpenCV——读取、显示及保存图片
- 回调函数定义及用法
- 【2017百度之星】HDU 6114 Chess 【组合数取模,Lucas定理】
- kafka文档- 0.8.2-Configuration-配置选项
- Matlab提示内存不足
- Redis
- 《去哪网编程题》身份证分组