一.写这篇博客的起因
在看程序员吴师兄的《https://blog.csdn.net/kexuanxiu1163/article/details/91461329》这篇博客的时候,动手写了一下博客中的插入排序,用的是C++语言,但是遇到了函数调用过程中形参发生了改变,实参的值却没有改变。
二.具体情况见下面的代码
没有输出想要结果的代码:
#include<iostream>
#include<vector>
using namespace std;
void sort(vector<int>a);//插入排序函数
int main()
{
int w[10]={1,2,69,45,32,12,90,25,76,13};
vector<int>p(w,w+10);
sort(p);//调用插入排序函数
for(int i=0;i<10;i++)
{
cout<<p[i]<<endl;
}
return 0;
}
void sort(vector<int>a)
{
int n=a.size();
for(int i=1;i<n;i++)
{
//取值将a[i]赋值给value
int value=a[i];
int j=0;//插入位置
for(j=i-1;j>=0;j--)
{
if(a[j]>value)
{
a[j+1]=a[j];
}
else
{
break;
}
}
a[j+1]=value;
}
}