void swap(int a,int b)
卫辉ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
{
int temp;
temp=a;
a=b;
b=temp;
}
这个函数是个假的,起不到交换的作用!!
如果不改变程序内容,可用假函数(宏定义实现交换),如:
#define swap( a, b) do {int temp; temp=a;a=b;b=temp; }while(0)
来替换掉这个函数!
如果还有问题,则是快速排序方法的问题了,你再仔细研究一下
int split(char dst[][80], char* str, const char* spl)
{
int n = 0;
char *result = NULL;
result = strtok(str, spl);
while( result != NULL )
{
strcpy(dst[n++], result);
result = strtok(NULL, spl);
}
return n;
}
int _tmain(int argc, _TCHAR* argv[])
{
char str[] = "123,456\n789,321";
char dst[10][80];
int cnt = split(dst, str, "\n");
for (int i = 0; i cnt; i++)
puts(dst[i]);
return 0;
}
主要是字符串分割函数strtok的使用
#include stdio.h
#include string.h
int main(void)
{
char str[100], spl[10], *p;
fputs("请输入字符串 : ", stdout);
gets(str);
fputs("请输入分割符 : ", stdout);
gets(spl);
p = strtok(str, spl);
while (p != NULL)
{
puts(p);
p = strtok(NULL, spl);
}
return 0;
}
void SPL(int n, double *x, double *y, int ni, double *xi, double *yi); 是你所要。
已知 n 个点 x,y; x 必须已按顺序排好。要插值 ni 点,横坐标 xi[], 输出 yi[]。
程序里用double 型,保证计算精度。
SPL调用现成的程序。
现成的程序很多。端点处理方法不同,结果会有不同。想同matlab比较,你需 尝试 调用 spline()函数 时,令 end1 为 1, 设 slope1 的值,令 end2 为 1 设 slope2 的值。
#include stdio.h
#include string.h
// 将str字符以spl分割,存于dst中,并返回子字符串数量
int split(char dst[][80], char* str, const char* spl)
{
int n = 0;
char *result = NULL;
result = strtok(str, spl);
while( result != NULL )
{
strcpy(dst[n++], result);
result = strtok(NULL, spl);
}
return n;
}
int main()
{
char str[] = "what is you name?";
char dst[10][80];
int cnt = split(dst, str, " ");
for (int i = 0; i cnt; i++)
puts(dst[i]);
return 0;
}
seq表示seq的地址,SqList seq;由系统分配一个地址空间
SPL=seq,SPL等于seq的地址,SPL指向的内容,就是seq变量的内容