Linux下c直接插入排序算法
2014-11-10 10:21
69 查看
主函数
1 //排序主函數
2 #include <stdio.h>
3 void main()
4 {
5 int ss[10]={5,0,6,3,1,8,4,9,7,2};
6 int i;
7 for(i=0;i<10;i++)
8 printf("%d ",ss[i]);
9 printf("\n");
10 //ss=Sort(ss);
11 D_sort(ss,10);
12 for(i=0;i<10;i++)
13 printf("%d ",ss[i]);
14 printf("\n");
15 }
1 //直接插入排序
2 #include <stdio.h>//使用了printf等一些函数这个必须有
3 void D_sort(int str[],int length)
4 {int i,j,temp;
5 for(i=1;i<length;i++)
6 {
7 for(j=i;j>=1;j--)
8 {
9 if(str[j-1]>str[j])
10 {
11 temp=str[j-1];
12 str[j-1]=str[j];
13 str[j]=temp;
14 }else
15 {
16 break;
17 }
18 }
19 for(j=0;j<length;j++)
20 printf("%d ",str[j]);
21 printf("\n");
22 }
23 }
在linux下分别生成main.c和D_sort.c文件
gcc -c main.c -g -o main.o //-g是调试所需要的参数
gcc -c D_sort.c -g -o D_sort.o
gcc -o main main.o D_sort.o //这里的main就是生成的可执行命令
./main
结果
需要排序的数据 5 0 6 3 1 8 4 9 7 2
5 0 6 3 1 8 4 9 7 2
0 5 6 3 1 8 4 9 7 2
0 5 6 31 8 4 9 7 2
0 3 5 6 1 8 4 9 7 2
0 1 3 5 6 8 4 9 7 2
0 1 3 5 6 8 4 9 7 2
0 1 3 4 5 6 8 9 7 2
0 1 3 4 5 6 8 9 7 2
0 1 3 4 5 6 7 8 9 2
0 1 2 3 4 5 6 7 8 9
算法原理:每次插入一个数据,与前面的数据逐个比较。
1 //排序主函數
2 #include <stdio.h>
3 void main()
4 {
5 int ss[10]={5,0,6,3,1,8,4,9,7,2};
6 int i;
7 for(i=0;i<10;i++)
8 printf("%d ",ss[i]);
9 printf("\n");
10 //ss=Sort(ss);
11 D_sort(ss,10);
12 for(i=0;i<10;i++)
13 printf("%d ",ss[i]);
14 printf("\n");
15 }
1 //直接插入排序
2 #include <stdio.h>//使用了printf等一些函数这个必须有
3 void D_sort(int str[],int length)
4 {int i,j,temp;
5 for(i=1;i<length;i++)
6 {
7 for(j=i;j>=1;j--)
8 {
9 if(str[j-1]>str[j])
10 {
11 temp=str[j-1];
12 str[j-1]=str[j];
13 str[j]=temp;
14 }else
15 {
16 break;
17 }
18 }
19 for(j=0;j<length;j++)
20 printf("%d ",str[j]);
21 printf("\n");
22 }
23 }
在linux下分别生成main.c和D_sort.c文件
gcc -c main.c -g -o main.o //-g是调试所需要的参数
gcc -c D_sort.c -g -o D_sort.o
gcc -o main main.o D_sort.o //这里的main就是生成的可执行命令
./main
结果
需要排序的数据 5 0 6 3 1 8 4 9 7 2
5 0 6 3 1 8 4 9 7 2
0 5 6 3 1 8 4 9 7 2
0 5 6 31 8 4 9 7 2
0 3 5 6 1 8 4 9 7 2
0 1 3 5 6 8 4 9 7 2
0 1 3 5 6 8 4 9 7 2
0 1 3 4 5 6 8 9 7 2
0 1 3 4 5 6 8 9 7 2
0 1 3 4 5 6 7 8 9 2
0 1 2 3 4 5 6 7 8 9
算法原理:每次插入一个数据,与前面的数据逐个比较。
相关文章推荐
- 对【直接插入排序算法】的原始代码进行跟踪输出测试的梳理
- 排序算法之直接插入排序
- 排序算法(一):直接插入排序
- 直接插入排序算法
- 直接插入排序算法java实现
- 基本排序算法及分析(一):插入排序,直接选择排序
- 直接插入排序算法
- 直接插入排序算法的思想及java实现
- 【数据结构】排序算法(一)之直接插入排序,冒泡排序
- php写的简单选择排序算法和直接插入排序算法
- 直接插入排序算法
- 插入排序算法--直接插入算法,折半排序算法,希尔排序算法(C#实现)
- 排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序
- java排序算法之直接插入排序
- 直接插入排序算法
- 直接插入排序算法
- 直接插入排序算法
- 排序算法汇总(选择排序 ,直接插入排序,冒泡排序,希尔排序,快速排序,堆排序)
- 深入剖析排序算法(二)------直接插入排序的研究及改进
- 排序算法: 冒泡排序, 快速排序,希尔排序,直接插入排序 ,直接选择排序,归并排序,堆排序