常用代码块
int quick_sort(int* y,int begin,int end)
{
int temp=y[begin];
int endTemp=end;
if(end>begin)
{
while(begin<end)
{
while((begin<end)&&(temp<=y[end]))
end--;
y[begin]=y[end];
while((begin<end)&&(temp>y[begin]))
begin++;
y[end]=y[begin];
}
y[begin]=temp;
fast(y,0,begin-1);
fast(y,begin+1,endTemp);
}
return 0;
}
void insert_sort(int a[],int n){
int flag;
for (int i=1; i<n; i++) {
if (a[i]<a[i-1]) {
flag=a[i];
int j;
for (j=i-1; flag<a[j]; j--) {
a[j+1]=a[j];
}
a[j+1]=flag;
}
}
}
int dp[n];
memset(dp, 0, sizeof(int)*n);
for (int i=0; i<n-1; i++) {
dp[i]=max(1, dp[i]);
for (int j=i+1;j<n ; j++) {
if (a[j]>a[i]) {
dp[j]=max(dp[j], dp[i]+1);
}
}
}
子序列