c語言查找進程
❶ c語言排序和查找
1)利用readData()函數從data1.txt中讀入不同規模的數據存入數組,
編寫基於數組的順序查找演算法,測試數據量為1萬、5萬、10萬、20萬、
30萬、40萬和50萬時的數據查詢時間。
演算法代碼如下:
1 int seqsearch(int a[],int n,int key)
2 {
3 int k=n-1;
4 while(k>=0&&a[k]!=key)
5 k--;
6 return (k);
7 }
2)利用readData()函數從data2.txt中讀入不同規模的有序數據存入數組,
編寫基於數組的二分查找演算法,測試數據量為1萬、5萬、10萬、20萬、30萬、
40萬和50萬時的數據查詢時間。
演算法代碼如下:
1 int binSearch(int a[],int n,int key)
2 {
3 int low=0;
4 int high=n-1;
5 int mid;
6 while(low<=high)
7 {
8 mid=(low+high)/2;
9 if(a[mid]==key) return mid;
10 if(a[mid]>key)
11 high=mid-1;
12 else
13 low=mid+1;
14 }
15 return -1;
16 }
3)請設計冒泡排序演算法函數void bubbleSort(int a[],int n),對a[1]..a[n]進行升序排序。
並測試在不同數據規模下的排序效率。
演算法代碼如下:
1 void bubbleSort(int a[],int n)
2 {
3 int i=1,j,flag=1;
4 while(i<=n-1&&flag)
5 {
6 flag=0;
7 for(j=1;j<=n-1-i;j++)
8 if(a[j+1]<a[j])
9 {
10 a[0]=a[j];
11 a[j]=a[j+1];
12 a[j+1]=a[0];
13 flag=1;
14 }
15 i++;
16 }
17 }
❷ 如何僅用c語言實現查看系統的進程,和進程名
#include<stdlib.h>
#include<stdio.h>
voidmain()
{
//顯示所有的進程
system("tasklist");
system("pause");
}
顯示正在運行的進程
❸ c語言 最快的查找方式
1、最快的查找方式是:二分法查找。
2、查找的線性表分:無序線性表、有序線性表、分塊有序線性表。
3、對無序線性表只能採用順序查找,順序查找的平均比較次數為(n+1)/2
4、對有序線性表可以採用二分查找,二分查找的比較次數為log2n
5、對分塊有序線性表可以採用分塊法查找。
C語言是一種計算機程序設計語言,它既具有高級語言的特點,又具有匯編語言的特點。它由美國貝爾研究所的D.M.Ritchie於1972年推出,1978年後,C語言已先後被移植到大、中、小及微型機上,它可以作為工作系統設計語言,編寫系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬體的應用程序。它的應用范圍廣泛,具備很強的數據處理能力,不僅僅是在軟體開發上,而且各類科研都需要用到C語言,適於編寫系統軟體,三維,二維圖形和動畫,具體應用比如單片機以及嵌入式系統開發。
❹ c語言編程實現「折半查找」的過程。
折半查找的演算法思想是將數列按有序化(遞增或遞減)排列,查找過程中採用跳躍式方式查找,即先以有序數列的中點位置為比較對象,如果要找的元素值小於該中點元素,則將待查序列縮小為左半部分,否則為右半部分。通過一次比較,將查找區間縮小一半。 折半查找是一種高效的查找方法。它可以明顯減少比較次數,提高查找效率。但是,折半查找的先決條件是查找表中的數據元素必須有序。參考程序,希望對你有所幫助!
#include<stdio.h>
void main()
{
int a[20],x,i,start,end;
printf("input 20 numbers:\n");
for(i=0;i<20;i++) scanf("%d",&a[i]);
printf("please enter the number:\n");
scanf("%d",&x);
for(start=0,end=19;start<=end;)
{
i=start+(end-start)/2;
if (x==a[i])
{
printf("%d",i+1);
getch();
return;
}
else if (x>a[i]) end = i-1;
else start=i+1;
}
}