QKPASS.CPP
上传用户:wszmarenbt
上传日期:2013-04-26
资源大小:2552k
文件大小:1k
源码类别:

Windows编程

开发平台:

Visual C++

  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <math.h>
  4. int *Data_list;
  5. int NUM=5;
  6. int main(void)
  7. {
  8. void InitDatalist(int *Data);
  9. void SORT(int *Data,int LOW,int HIGH);
  10. void DISPLAY(int *Data);
  11. Data_list=new int [5];
  12. clrscr();
  13. InitDatalist(Data_list);
  14. DISPLAY(Data_list);
  15. SORT(Data_list,0,NUM-1);
  16. printf("nn***** THIS IS A SORT PROGRAM *****n");
  17. DISPLAY(Data_list);
  18. getch();
  19. return 0;
  20. }
  21. void InitDatalist(int *Data)
  22. {
  23. for (int i=0;i<NUM;i++)
  24. {
  25. *(Data+i)=((NUM-i)*1000);
  26. }
  27. }
  28. void Qkpass(int *Data,int LOW,int HIGH,int &i)
  29. {
  30. int x,j;
  31. i=LOW;
  32. j=HIGH;
  33. x=Data[LOW];
  34. while(i<j)
  35. {
  36. while((i<j)&&(Data[j]>=x))  j=j-1;
  37. Data[i]=Data[j];
  38. while((i<j)&&(Data[j])<=x)  i=i+1;
  39. Data[j]=Data[i];
  40. }
  41. Data[i]=x;
  42. }
  43. void SORT(int *Data,int LOW,int HIGH)
  44. {
  45. int MIDDLE;
  46. if (LOW<HIGH)
  47. {
  48. Qkpass(Data,LOW,HIGH,MIDDLE);
  49. SORT(Data,LOW,MIDDLE-1);
  50. SORT(Data,MIDDLE+1,HIGH);
  51. }
  52. }
  53. void DISPLAY(int *Data)
  54. {
  55. int CIRCLE=0;
  56. for (CIRCLE=0;CIRCLE<NUM;CIRCLE++)
  57. printf("n%d",*(Data+CIRCLE));
  58. }