输入一串数字,输出排序插入后输出最后的数字序列;
把主要步骤交给主函数,通过调用函数来实现整体的功能:
写出主函数(这里使用冒泡排序):
int main(){int n;int a[10];cin>>n;inputa(a,n);ouputa(a,n);cout<<endl;bubble(a,n);cout<<endl;inserta(a,n);
}
定义每个函数:
输入:
void inputa(int aa[],int n){int i;for(i=0;i<n;i++)cin>>aa[i];}
输出(核验):推荐使用指针,故写之
void ouputa(int aa[],int n){int i;for(i=0;i<n;i++)cout<<aa[i]<<" ";cout << endl;for (int *i = aa; i != aa + n; i++)cout << *i << " ";}
排序:
void bubble(int aa[],int n){int i,j,t; for(i=0;i<n-1;i++){for(j=0;j<n-1-i;j++){if(aa[j]>aa[j+1]){t=aa[j];aa[j]=aa[j+1];aa[j+1]=t;}}}for(i=0;i<n;i++)cout<<aa[i]<<" ";
}
插入与最后输出:
void inserta(int aa[],int n){int i,x;int N=n;cin>>x;for(i=0;i<n;i++){if(x<aa[i]){for(n-=1;n>=i;n--){aa[n+1]=aa[n];}break;}}aa[i]=x; for(i=0;i<=N;i++)cout<<aa[i]<<" ";
}
最后,别忘了声明:
using namespace std;
void inputa(int aa[], int n);
void ouputa(int aa[], int n);
void bubble(int aa[], int n);
void inserta(int aa[], int n);
总代码如下:
#include <iostream>
using namespace std;
void inputa(int aa[], int n);
void ouputa(int aa[], int n);
void bubble(int aa[], int n);
void inserta(int aa[], int n);
int main()
{int n;int a[10];cin >> n;inputa(a, n);ouputa(a, n);cout << endl;bubble(a, n);cout << endl;inserta(a, n);
}
void inputa(int aa[], int n)
{int i;for (i = 0; i < n; i++)cin >> aa[i];
}
void ouputa(int aa[], int n)
{int i;for (i = 0; i < n; i++)cout << aa[i] << " ";cout << endl;for (int *i = aa; i != aa + n; i++)cout << *i << " ";
}
void bubble(int aa[], int n)
{int i, j, t;for (i = 0; i < n - 1; i++){for (j = 0; j < n - 1 - i; j++){if (aa[j] > aa[j + 1]){t = aa[j];aa[j] = aa[j + 1];aa[j + 1] = t;}}}for (i = 0; i < n; i++)cout << aa[i] << " ";
}
void inserta(int aa[], int n)
{int i, x;int N = n;cin >> x;for (i = 0; i < n; i++){if (x < aa[i]){for (n -= 1; n >= i; n--){aa[n + 1] = aa[n];}break;}}aa[i] = x;for (i = 0; i <= N; i++)cout << aa[i] << " ";
}
简单的代码实现,主要练习一下我们函数的调用和内容!