一组数据里面怎样查找相邻和相同的整数算法设计
一组数据里面怎样查找相邻和相同的整数,如:1和2、2和2、3和2 , 还有一组数与另一组数中怎样查找相邻和相同的整数额算法,怎么设计算法啊?怎么查找的时间最少啊 ? 求给位高人大虾什么的各路神圣都给想想办法啊?跪谢啊。。。。
[解决办法]
- C/C++ code
//将out.txt文件中的内容排序并去重,结果保存到unique.txt中#include <stdio.h>#include <stdlib.h>#define MAXLNO 10000000 //能处理的最大行数#define MAXLEN 20 //能处理的最大行宽,包括行尾的\n和字符串尾的\0char buf[MAXLNO][MAXLEN];int ln,i;FILE *f;int cmpfun( const void *arg1, const void *arg2 ) { return strcmp((const char *)arg1,(const char *)arg2);}int main() { f=fopen("out.txt","r"); if (NULL==f) { printf("Can not find file out.txt\n"); return 1; } ln=0; while (1) { if (NULL==fgets(buf[ln],MAXLEN,f)) break; ln++; if (ln>=MAXLNO) { printf("Lines >%d ignored.",MAXLNO); break; } } fclose(f); if (ln>1) qsort(buf,ln,MAXLEN,cmpfun); f=fopen("unique.txt","w"); if (NULL==f) { printf("Can not create file unique.txt\n"); return 2; } fprintf(f,"%s",buf[0]); if (ln>1) for (i=1;i<ln;i++) { if (strcmp((const char *)buf[i-1],(const char *)buf[i])) fprintf(f,"%s",buf[i]); } fclose(f); return 0;}