微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 编写程序实现对输入的字符串排序(仅对alpha字符排序)

编写程序实现对输入的字符串排序(仅对alpha字符排序)

时间:11-22 来源:互联网 点击:

}

void swap(void *v[], int i, int j)

{

void *temp;

temp = v[i];

v[i] = v[j];

v[j] = temp;

}

int getline(char s[], int lim)

{

int c, i;

for (i = 0; i < lim - 1 && (c = getchar()) != EOF && c != \n; ++i)

s[i] = c;

if (c == \n)

{

s[i] = c;

++i;

}

s[i] = \0;

return i;

}

int numcmp(char *s1, char *s2)

{

double v1, v2;

v1 = atof(s1);

v2 = atof(s2);

if (v1 < v2)

return -1;

else if (v1 > v2)

return 1;

else

return 0;

}

void p_qsort(void *v[], int left, int right, int(*comp)(void *, void *))

{

int i, last;

if (left >= right)

return;

swap(v, left, (left + right) / 2);

last = left;

for (i = left + 1; i <= right; i++)

{

if ((*comp)(v[i], v[left]) < 0)

swap(v, ++last, i);

}

swap(v, left, last);

p_qsort(v, left, last - 1, comp);

p_qsort(v, last + 1, right, comp);

}

三. 程序小结

1. 程序不能很好处理-d参数, 有待改进.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top