| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #include<stdio.h>
- #include<stdlib.h>
- #define N 8
- void insert_sort(int a[],int n);
- //插入排序实现,这里按从小到大排序
- void insert_sort(int a[],int n)//n为数组a的元素个数
- {
- int i,j,k;
- int temp;
- //进行N-1轮插入过程
- for(i=1; i<n; i++)
- {
- //首先找到元素a[i]需要插入的位置
- j=0;
- while( (a[j]<a[i]) && (j<i))
- {
- j++;
- }
- //将元素插入到正确的位置
- if(i != j) //如果i==j,说明a[i]刚好在正确的位置
- {
- temp = a[i];
- for(k = i; k > j; k--)
- {
- a[k] = a[k-1];
- }
- a[j] = temp;
- }
- }
- }
- int main()
- {
- int i;
- int num[N] = {89, 38, 11, 78, 96, 44, 19, 25};
- insert_sort(num, N);
- for(i=0; i<N; i++)
- printf("%d ", num[i]);
- printf("\n");
- system("pause");
- return 0;
- }
|